У меня есть текст (не является корректным XML документ) с некоторыми словами в тегах XML, как это:Python регулярное выражение для вложенных элементов XML
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.
Мне нужно извлечь термины в теги XML. Моя проблема заключается в том, что я не знаю, что регулярное выражение следует использовать, чтобы получить вложенный элемент вроде этого:
<term><term>something</term><term>else</term></term>
Я использую Python, для моей работы, и я попытался следующий за мою работу:
re.findall(r'(<term.+?</term>)', textfile)
Но я получаю что-то вроде этого:
<term><term>something</term>
Это плохо, потому что мне не хватает остальных. Я также попробовал следующую жадную версию (что хуже):
re.findall(r'(<term.+</term>)' , textfile)
Можете ли вы мне помочь?
Вы можете найти http://stackoverflow.com/questions/37113364/regex-for-nested-xml-attributes информативный о проблемах, связанных с попыткой разобрать вложенный XML с регулярным выражением ... –
ObZalgo: http: // stackoverflow.com/a/1732454/4014959 :) –
Только модуль Pyge regex предлагает рекурсивное регулярное выражение. –