Ich habe einen Text (kein richtig geformtes XML-Dokument) mit einigen Worten in XML-Tags wie folgt aus:Python Regex für verschachtelte XML-Elemente
We have Potter the <term attrib="LINE:246">wizard</term> interacting with<term attrib="LINE:36080">witches</term> and <term attrib="LINE:360">goblins</term> talking about <term attrib="LINE:337"><term attrib="LINE:329"><term attrib="LINE:468">dark</term></term> <term attrib="LINE:375">arts</term></term> in regions to the east of Hogwarts.
Ich brauche die Begriffe in den XML-Tags zu extrahieren. Mein Problem ist, dass ich weiß nicht, was regex soll ich ein verschachteltes Element wie diese erhalten verwenden:
<term><term>something</term><term>else</term></term>
ich Python verwende, für meine Arbeit, und ich habe folgende für meine Arbeit versucht:
re.findall(r'(<term.+?</term>)', textfile)
Aber ich habe so etwas wie dies:
<term><term>something</term>
das ist schlecht, weil ich den Rest bin fehlt. Ich habe auch versucht die folgende gierige Version (was noch schlimmer):
re.findall(r'(<term.+</term>)' , textfile)
Können Sie mir bitte helfen?
Sie können http://stackoverflow.com/questions/37113364/regex-for-nested-xml-attributes informativ zu den Problemen finden, die mit dem Parsen verschachtelten XML mit Regex ... –
ObZalgo: http: // stackoverflow.com/a/1732454/4014959 :) –
Nur PyPi Regex-Modul bietet eine rekursive Regex. –