JavaScript - 找到最后一部分的优雅方式" foo [biz] [bar]"

时间:2017-05-11 10:08:23

标签: javascript jquery lodash

我的输入名称为"foo[biz][bar]"。获得最后一部分的优雅方式是什么,即"bar"?我可以使用jQuery和lodash库。

2 个答案:

答案 0 :(得分:5)

Yo可以使用正则表达式/\[(.*?)\]/g获取括号中的所有匹配项,然后选择最后一个匹配项:

str = "foo[biz][bar]"
matches = str.match(/\[(.*?)\]/g)
if (matches.length) console.log(matches[matches.length - 1])
// based on answer above group override but without `(?:` non capturing group
console.log( /(\[(\w+)\])+/g.exec(str).pop() )

正则表达式/\[(.*?)\]/g说明: enter image description here

正则表达式/(\[(\w+)\])+/g解释:enter image description here

Debuggex

创建

答案 1 :(得分:2)

与@loretoparisi相同,但会覆盖该组。

str = "foo[biz][bar]"
matches = /(?:\[(\w+)\])+/g.exec(str)
console.log(matches.pop())