我正在閱讀一個文本文件,並試圖捕獲每個不同標籤的參數之一,該參數尚未被註釋掉。在python中有多個匹配和負面條件的多行正則表達式
更具體地說,我有以下的輸入...
maybe there is some text \THISTAG[arg1=1,argtwo]{WANT0}
% \THISTAG[arg1=1,argtwo]{NOTWANT}
% blah blah \THISTAG[arg1=1,argtwo]{NOTWANT}
\THISTAG[arg1=1,argtwo]{WANT1}\THISTAG[arg1=1,argtwo]{WANT2}\\stuff
\sometag{stuff I don't want}[{\THISTAG[arg1=1,argtwo]{WANT3}}]{more stuff I don't want}
\THISTAG[arg1=1,argtwo]{OBV_WANT}
我想下面的輸出
WANT0
WANT1
WANT2
WANT3
OBV_WANT
到目前爲止,我有以下的代碼,不達到我想要的
with open(target, "r") as ins:
f = re.findall(r'^(?:[^%])?\\THISTAG\[.+\]{(.+?)}(?:{.+})?', ins.read(),re.MULTILINE)
你能告訴我們你得到了什麼呢? – sowrd299
當然...我得到'OBV_WANT',沒有別的。 – Constantine
病情不明確。我很難做出你想要的正則表達式。我可以得到所有的'WANT'和'OBV_WANT',但我也可以得到'NOTWANT'。請讓問題更清楚 –