簡體   English   中英

最后一個括號集的正則表達式匹配內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM