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