亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式:如果后跟一組運算符,如何捕獲括號組?

正則表達式:如果后跟一組運算符,如何捕獲括號組?

慕桂英546537 2021-05-30 20:16:15
\(([^\\(\\)]+)\)我上面的正則表達式捕獲了表單的每組括號之間的所有內容(Hello OR there) AND (big AND wide AND world)我懂了Hello OR therebig AND wide AND world但是當括號內的術語中有括號時它會下降(Hello OR there AND messing(it)up) AND (big AND wide AND world)退貨itbig AND wide AND world我想Hello OR there AND messing(it)upbig AND wide AND world我不確定正則表達式是否可行,或者最好的方法是什么?
查看完整描述

1 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

您可以使用以下模式:


\(((?:[^()]+|(?R))*+)\)

如果可能,(?R)子表達式遞歸整個模式。


您可以在這里嘗試。


輸入:


(Hello OR there AND messing(it)up) AND (big AND wide AND world)

捕獲的組是:


Group 1.    47-79   `Hello OR there AND messing(it)up`

Group 1.    86-108  `big AND wide AND world`

如果您使用的是Python,則可以使用以下regex模塊:


import regex


mystring = '(Hello OR there AND messing(it)up) AND (big AND wide AND world)'

print(regex.findall('(?V1)\(((?:[^()]+|(?R))*+)\)',mystring))

印刷:


['Hello OR there AND messing(it)up', 'big AND wide AND world']


查看完整回答
反對 回復 2021-06-01
  • 1 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號