【发布时间】:2011-06-29 18:55:53
【问题描述】:
我正在尝试解析“错误的 html”以使用 perl 正则表达式修复它。
错误的html如下:<p>foo<p>bar</p>foo</p>
我希望 perl 正则表达式返回给我:<p>foo<p>
我试过类似:'|(<p\b[^>]*>(?!</p>)*?<p[^>]*>)|'
没有成功,因为我不能重复(?!</p>)*?
Perl 正则表达式中是否有办法说出除以下序列之外的所有字符(在我的情况下为 </p>)
【问题讨论】:
-
写题时,需要对HTML/XML和代码使用反引号(`)进行转义。
-
@BoltClock,+1 和stackoverflow.com/questions/4840988/… 的回复令人印象深刻,如果您愿意写一个现代正则表达式可以匹配;)
-
@Obligatory:请不要再使用该链接。这对初学者来说很困惑,只有懂的人才会聪明。
标签: regex perl html-parsing