2016-04-27 244 views
1

我的文字像這樣的字符串:正則表達式匹配所有內容截至及包括最後括號

鮑勃·史密斯(批准)請求審查2016年4月27日(鮑勃·史密斯)對你的假期樂趣!

而且我想用正則表達式匹配一切截至及包括最後括號,這將是這樣的:

鮑勃·史密斯(批准)請求審查2016年4月27日(BOB Smith)

我最終將使用這個正則表達式來替換文本直到幷包括最後一個括號,這樣只有最後的註釋纔會被返回。 (在最後一個圓括號後部分會更容易匹配[見下文],但我正在使用基於我正在使用的程序中的一個怪癖的不同方法。)

我在SO上發現了這個問題詢問如何在最後一個正斜槓後找到所有內容:Regular Expression for getting everything after last slash。答案是:

([^/]+$) 

不過,我需要修改的正則表達式應有盡有截至及包括最後的括號內。我試圖對此進行修改:

但可以找到所有內容,但不包括第一個括號。

我該如何改變它以匹配所有內容幷包括最後一個括號?

看到這個RegExr爲例:http://regexr.com/3dahe

+0

你可以做[this](http://regexr.com/3dai3)。 – Quinn

回答

1

我想用一個正則表達式匹配一切直到幷包括最後括號

你只需要貪心點匹配:

^.*\)\s* 

查看regex demo

如果輸入中有換行符號,則使用DOTALL修飾符。

模式的細節:

  • ^ - 字符串的開始
  • .* - 不是一個新行到最後
  • \)其他任何字符0+ - 右括號
  • \s* - 0 +空格。
+0

謝謝!我沒有想到提及文本將在多行上。我將如何使用你在這種情況下提到的DOTALL修飾符? – BarrettNashville

+1

什麼是正則表達式? PCRE和大多數其他人都支持內聯修飾符:在模式的開頭添加'(?s)'。在JavaScript中,用'[^]'替換'.'。 –

+0

它位於SharePoint的Nintex插件中。老實說,我不確定使用什麼引擎。 – BarrettNashville

相關問題