У меня есть файл 'xml file', в котором есть нежелательные символы
<data>
<tag>blar </tag><tagTwo> bo </tagTwo>
some extra
characters not enclosed that I want to remove
<anothertag>bbb</anothertag>
</data>
Я думал, что следующая не жадная замена удалит символы, которые не были должным образом заключены в <sometag></sometag>
re.sub("</([a-zA-Z]+)>.*?<","</\\1><",text)
^ ^ ^ ^ text is the xml txt.
remember tag, | | put tag back without and reopen next tag
read everything until the next '<' (non-gready)
Это регулярное выражение, похоже, находит только положение, обозначенное [[]]
в </tag>[[]]<tagTwo>
Что я делаю не так?
EDIT:
Мотивация для этого вопроса была решена (см. Комментарии, у меня был случайный файл в файле xml, который заставлял его не анализировать - он не имел ничего общего с символами, которые я хочу удалить). Однако мне все еще интересно, возможно ли регулярное выражение (и что было не так с моей попыткой), и поэтому я не удаляю вопрос.