匹配最后一个括号组

时间:2013-12-04 13:06:03

标签: regex

我有一个看起来像这样的字符串

某些文字(group1)更多文字(group2)更多文字(groupN)

有人可以帮我写一个与groupN匹配的正则表达式吗?该小组总是在文本的最后。

我试过这个表达

\(.+\)

但是,它从group1的左括号到groupN的右括号匹配。我只需要匹配groupN。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

使用以下正则表达式。它仅匹配输入字符串的末尾。 ($根据正则表达式引擎匹配输入字符串的末尾或行尾。)

\([^()]+\)$

Javascript示例:

> 'Some text (group1) some more text (group2) some more text (groupN)'.match(/\([^()]+\)$/)
["(groupN)"]

答案 1 :(得分:2)

如果最后一个括号可能在其后面出现文字,如:

some text (first) and (last) more text

您可以使用前瞻来检查匹配后字符串中没有更多的括号:

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

如果没有,那么只需匹配一个$正确建议。

RegExr