繁体   English   中英

正则表达式,用于在最后一个括号之间获取文本()

[英]Regex for getting text between the last brackets ()

我想使用javascript提取last ()之间的文本

例如

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));

结果应该是

value_b

谢谢您的帮助

尝试这个

\(([^)]*)\)[^(]*$

在regexr上查看

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(/\(([^)]*)\)[^(]*$/)[1]);

括号内的部分存储在捕获组1中,因此您需要使用match()[1]访问结果。

/\([^()]+\)(?=[^()]*$)/

前瞻(?=[^()]*$)断言在输入结束之前没有更多的括号。

一个有效的解决方案是让.*在最后一个(

 var str = "don't extract(value_a) but extract(value_b)"; var res = str.match(/.*\\(([^)]+)\\)/)[1]; console.log(res); 

这是regex101的演示

如果最后一个括号始终位于句子的结尾,则可以使用乔纳森斯答案。 否则,可能会发生以下情况:

/\((\w+)\)(?:(?!\(\w+\)).)*$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM