7
我想查找這些括號中包含在[[ ]]
中的所有數據。Python正則表達式部分提取
[AAAAA] - > AAAAA
我的Python代碼(重新使用庫)是
la = re.findall(r'\[\[(.*?)\]\]', fa.read())
如果我只想 '是一種' 自[[a|b]]
這個任務的任何簡潔的正則表達式? (提取數據前|
)
或者我應該使用額外的if語句嗎?
我想查找這些括號中包含在[[ ]]
中的所有數據。Python正則表達式部分提取
[AAAAA] - > AAAAA
我的Python代碼(重新使用庫)是
la = re.findall(r'\[\[(.*?)\]\]', fa.read())
如果我只想 '是一種' 自[[a|b]]
這個任務的任何簡潔的正則表達式? (提取數據前|
)
或者我應該使用額外的if語句嗎?
你可以試試:
r'\[\[([^\]|]*)(?=.*\]\])'
([^\]|]*)
將匹配直到|
或]
被發現。並且(?=.*\]\])
是一個向前看,以確保]]
匹配RHS的匹配。
測試:
>>> re.search(r'\[\[([^\]|]*)(?=.*\]\])', '[[aaa|bbb]]').group(1)
'aaa'
>>> re.search(r'\[\[([^\]|]*)(?=.*\]\])', '[[aaabbb]]').group(1)
'aaabbb'
感謝你們提供了簡潔的回答和解釋。 我應該閱讀更多關於正則表達式的文章。 – SUNDONG
只有一件事要注意 - 這不會處理嵌套括號(事實上,沒有計數器的幫助,正則表達式一般不會)。 – brandonscript