我需要从具有1-N括号的字符串中提取最右边的括号(最后一个)。
例如,在Some title (8888)(123, bar)(1000, foo)
中,我想获取最后一组括号的内容,即1000, foo
。总会有至少一个括号,但可能不止一个。
我可以使用正则表达式或其他字符串解析技术。
答案 0 :(得分:2)
假设它们没有嵌套,您只需执行:/\(([^\)]+)\)$/
var foo = "Some title (8888)(123, bar)(1000, foo)";
// Get your result with
foo.match(/\(([^\)]+)\)$/)[1];
答案 1 :(得分:1)
你会看到正则表达式.*\((.+)\)
你可以获得$ 1(第一组)作为你想要的内容
答案 2 :(得分:0)
匹配所有括号,并获得最后一个。
> 'Some title (8888)(123, bar)(1000, foo)'.match(/\(.*?\)/g).pop()
"(1000, foo)"
> var x = 'Some title (8888)(123, bar)(1000, foo)'.match(/\(.*?\)/g).pop(); x.substr(1, x.length-2)
"1000, foo"