我想正則表達式寫到具有以下格式正則表達式匹配括號中的字符串
12740(34,12)的字符串[ABC(A1B2C3)(a2b3c4)......] myId123
目前,我有這樣的事情
\((?P<expression>\S+)\)
但有了這個,我可以只收集方括號中的字符串。
是否有無論如何我可以捕捉方括號前的整數,還有方括號內的字符串。
小括號內的字符串數量將不會相同。我也可以有一個字符串,它看起來像這樣
10(3,2),[ABC(A1B2C3)] myId1
我知道我可以寫使用蠻力上述表達一個簡單的正則表達式。但任何人都可以請幫我寫一個方括號內的字符串數量不斷變化。
((?P<front>^\d+)|\((?P<expression>\S+)\)|(?P<id>[a-zA-Z0-9]+)$)
Regex101:提前
你不能使用're'的單個正則表達式來捕獲任意數量的組。您在比賽中只有與該模式中定義的數量相同的組。 –
@WiktorStribiżewohk,刪除.. !! –
@WiktorStribiżew這是一個愚蠢的問題(無論OP是否意識到)每個「用正則表達式解析HTML/XML」的問題。我們沒有一個規範的「正則表達式/ CFG」問題來關閉它們嗎?也許我們應該。 –