我的输入名称为"foo[biz][bar]"
。获得最后一部分的优雅方式是什么,即"bar"
?我可以使用jQuery和lodash库。
答案 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() )
创建
答案 1 :(得分:2)
与@loretoparisi相同,但会覆盖该组。
str = "foo[biz][bar]"
matches = /(?:\[(\w+)\])+/g.exec(str)
console.log(matches.pop())