\(([^\\(\\)]+)\)我上面的正則表達式捕獲了表單的每組括號之間的所有內(nèi)容(Hello OR there) AND (big AND wide AND world)我懂了Hello OR therebig AND wide AND world但是當(dāng)括號內(nèi)的術(shù)語中有括號時它會下降(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 回答

呼啦一陣風(fēng)
TA貢獻1802條經(jīng)驗 獲得超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']
添加回答
舉報
0/150
提交
取消