我有一个看起来像这样的字符串
某些文字(group1)更多文字(group2)更多文字(groupN)
有人可以帮我写一个与groupN匹配的正则表达式吗?该小组总是在文本的最后。
我试过这个表达
\(.+\)
但是,它从group1的左括号到groupN的右括号匹配。我只需要匹配groupN。
感谢您的帮助。
答案 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
您可以使用前瞻来检查匹配后字符串中没有更多的括号:
\([^)]*\)(?=[^(]*$)
如果没有,那么只需匹配一个$
正确建议。