[英]Regex match content of last parenthesis set
目前,我有這個正則表達式用於匹配括號內的內容(第 1 組): \((.*?)\)
它工作得很好,但我希望它只匹配一組括號的最后一次出現:
測試:“(否(是)”
使用我的正則表達式,組 1 為no(yes)
但我希望它返回yes
。
謝謝!
精度:這是關於最后一組括號,這意味着“(no(yes +(1 - 3))”應該返回yes + (1 - 3)
所以\(([^()]+)\)
不起作用,因為最后一組括號的內容可能包含括號。
根據您提供的示例,您可以嘗試此正則表達式:
\(((?:\([^()]*\)|[^()])*)\)[^(]*$
正則表達式詳細信息:
\(
: 匹配一個(
(
: 開始捕獲組
(?:
: 啟動非捕獲組
\([^()]*\)
:匹配一個(...)
substring|
: 或者[^()]
: 匹配一個不是(
and )
的字符)*
: 結束非捕獲組。 重復此組 0 次或多次)
: 結束捕獲組\)
: 匹配結束)
[^(]*
: 確保結束前沒有(
$
: 結束
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.