我有一串这样的文字:
鲍勃史密斯(批准)要求已于2016年4月27日审核(鲍勃史密斯)享受假期的乐趣!
我想使用正则表达式来匹配所有内容,包括最后一个括号,这将是:
Bob Smith(批准)请求2016年4月27日审核(Bob Smith)
我最终将使用此正则表达式将文本替换为最后括号并包括最后一个括号,以便只返回最后的注释。 (在最后一个括号后的部分匹配会更容易[见下文],但我使用的方法基于我使用的程序中的一个怪癖。)
我在SO上发现了这个问题,询问如何在最后一次正斜杠之后找到所有内容:Regular Expression for getting everything after last slash。答案是:
([^/]+$)
但是,我需要修改该正则表达式,以查找最新并包含最后一个PARENTHESES的所有内容。我试图修改为:
(^[^)]+)
但是找到了所有内容但不包括第一个括号。
如何更改以匹配最后一个括号的所有内容?
请参阅此RegExr作为示例:http://regexr.com/3dahe
答案 0 :(得分:2)
我想使用正则表达式来匹配所有内容,包括最后一个括号
你只需要贪婪的点匹配:
^.*\)\s*
请参阅regex demo
如果输入中有换行符号,请使用DOTALL修饰符。
模式细节:
^
- 字符串开头.*
- 除 last 之前的换行符以外的任何0+个字符\)
- 关闭括号\s*
- 0+空格。