[英]Find string in possibly multiple parentheses?
我正在尋找一個正則表達式,它區分包含括號內數值的字符串和包含括號外的字符串。 問題是,括號可能會相互嵌入:
因此,例如表達式應該匹配以下字符串:
但它不應符合以下任何一項:
到目前為止我已經嘗試過
\\d[A-Za-z] \\)
和像這樣簡單的事情。 這個問題是它與示例 2 不匹配,因為它后面有一個 ( 字符串。
我怎么能解決這個問題?
這些類型的正則表達式並不總是那么容易,但有時可以想出一種方法,只要輸入保持一定的一致性。 通常這樣的模式應該可以工作:
(.*(\([\d]+[^(].*\)|\(.*[^)][\d]+.*\)).*)
代碼:
import re
p = re.compile(ur'(.*(\([\d]+[^(].*\)|\(.*[^)][\d]+.*\)).*)', re.MULTILINE)
result = re.findall(p, searchtext)
print(result)
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.