正则表达式匹配包括最后一个括号在内的所有内容
RegEx to Match Everything Up To And Including the Last Parentheses
我有一串这样的文字:
Bob Smith (Approve) Request reviewed 4/27/2016 (Bob Smith) Have fun on your vacation!
我想使用正则表达式来匹配直到并包括最后一个括号的所有内容,即:
Bob Smith (Approve) Request reviewed 4/27/2016 (Bob Smith)
我最终将使用此正则表达式将包括最后一个括号在内的文本替换为空,以便仅返回末尾的注释。 (匹配最后一个括号后的部分会更容易 [见下文],但我使用的是基于我正在使用的程序中的一个怪癖的不同方法。)
我在 SO 上发现了这个问题,它询问如何找到最后一个正斜杠之后的所有内容:Regular Expression for getting everything after last slash。答案是:
([^/]+$)
但是,我需要修改该正则表达式以查找包括最后一个括号在内的所有内容。我尝试修改为:
(^[^)]+)
但这会找到第一个括号之前的所有内容,但不包括第一个括号。
如何更改它以匹配包括最后一个括号在内的所有内容?
以这个 RegExr 为例:http://regexr.com/3dahe
I want to use a regular expression to match everything up to and including the last parentheses
你只需要贪心点匹配:
^.*\)\s*
如果输入中有换行符,请使用 DOTALL 修饰符。
图案详情:
^
- 字符串开头
.*
- 除了换行符之外的任何 0+ 个字符,直到 last
\)
- 右括号
\s*
- 0+ 个空格。
我有一串这样的文字:
Bob Smith (Approve) Request reviewed 4/27/2016 (Bob Smith) Have fun on your vacation!
我想使用正则表达式来匹配直到并包括最后一个括号的所有内容,即:
Bob Smith (Approve) Request reviewed 4/27/2016 (Bob Smith)
我最终将使用此正则表达式将包括最后一个括号在内的文本替换为空,以便仅返回末尾的注释。 (匹配最后一个括号后的部分会更容易 [见下文],但我使用的是基于我正在使用的程序中的一个怪癖的不同方法。)
我在 SO 上发现了这个问题,它询问如何找到最后一个正斜杠之后的所有内容:Regular Expression for getting everything after last slash。答案是:
([^/]+$)
但是,我需要修改该正则表达式以查找包括最后一个括号在内的所有内容。我尝试修改为:
(^[^)]+)
但这会找到第一个括号之前的所有内容,但不包括第一个括号。
如何更改它以匹配包括最后一个括号在内的所有内容?
以这个 RegExr 为例:http://regexr.com/3dahe
I want to use a regular expression to match everything up to and including the last parentheses
你只需要贪心点匹配:
^.*\)\s*
如果输入中有换行符,请使用 DOTALL 修饰符。
图案详情:
^
- 字符串开头.*
- 除了换行符之外的任何 0+ 个字符,直到 last\)
- 右括号\s*
- 0+ 个空格。