错误的Python正则表达式?

g6ll5ycj  于 2023-03-11  发布在  Python
关注(0)|答案(1)|浏览(104)
import re
contents="""<tag>
</tag><t>text</t>"""

shorted= re.sub(r'(?s)<tag>.*?</tag>[^\w\s]*', '', contents).replace('\n', '')
print(shorted)
print()

结果:

t>text</t>

应为“<t>text</t>“,但缺少“<t>“的第一个“<“,为什么?

z4iuyo4d

z4iuyo4d1#

我推荐使用XML解析器来处理XML,但是如果您更喜欢re,可以尝试re.compile()findall()

import re
contents="""<tag>
</tag><t>text</t>"""

pattern = re.compile("<t>.*")
out = re.findall(pattern, contents)
print(out[0])

输出:

<t>text</t>

相关问题