我想要一個正則表達式匹配跨越多行的值。我正在使用re.S標誌,但仍然沒有結果。任何想法爲什麼?與多行正則表達式匹配的幫助
這就是我正在尋找通過文字:
<File id="abc.txt" EngRev="74">
<Identifier id="STRING_ID" isArray="1" goesWith="3027253">
<EngTranslation>"Value 1","Value 2","Value 3","Value 4","Value 5",</EngTranslation>
<LangTranslation filename="abc.txt" key="STRING_ID 0">Value 1</LangTranslation>
<array filename="abc.txt" key="STRING_ID 1">Value 2</array>
<array filename="abc.txt" key="STRING_ID 2">Value 3</array>
<array filename="abc.txt" key="STRING_ID 3">Value 4</array>
<array filename="abc.txt" key="STRING_ID 4">Value 5</array>
</Identifier>
<Identifier id="STRING_ID2" isArray="0" goesWith="3027253">
<EngTranslation>"Value 1"</EngTranslation>
<LangTranslation filename="abc.txt" key="STRING_ID2">Value 1</LangTranslation>
</Identifier>
</File>
這是我使用來獲得比賽的代碼:
def updateToArray(matchobj):
return matchobj.group(0).replace('LangTranslation','array')
outXML = re.sub(r'<Identifier.*?<array.*?</Identifier>', updateToArray, outXML, re.S)
重複http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – habnabit 2010-08-16 17:45:06
不要使用正則表達式來解析XML。使用XML庫。 – Amy 2010-08-16 17:49:40