正则表达式以匹配html标签的打开和关闭标签以及标签之间的所有内容(请检查图像)

时间:2018-08-10 04:17:54

标签: python regex html-parsing text-parsing

我想匹配这种模式和标签之间的所有内容。 https://i.stack.imgur.com/9ML1T.png

https://i.stack.imgur.com/V3Q58.png

1 个答案:

答案 0 :(得分:0)

如果您想要快速,可用但(不可避免)不完善的解决方案,则可以使用<li[^>]*>.*?<\/li>。理想的用例是在文本文件中进行低度查找和替换,而不是将其用作实际HTML解析器的任何部分。

此外,您还需要启用单行模式(有时称为全点模式)。

编辑:

我真的不知道Python和换行符是怎么回事,但是我能够使this正常工作:

re.sub(r'<li[^>]*>(?:.|\n)*?<\/li>', '', instr)

泛化为任意数字(如果Python> = 3.6):

n = 8726872
re.sub(fr'<li id="{n}"[^>]*>(?:.|\n)*?<\/li>', '', instr)

必须更好地(更安全,更简洁的方式)解析HTML链接: Parsing HTML using Python