我有一个“xml 文件”文件,其中包含一些不需要的字符
<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>
编辑: 这个问题的动机已经解决(见评论,我在 xml 文件中有一个杂散的 & 导致它无法解析 - 它与我要删除的字符无关)。但是,我仍然对正则表达式是否可行(以及我的尝试有什么问题)感到好奇,所以我没有删除这个问题。