以下是原文:
<p><u><font face="Calibri">2013<u>Blablabla</u><u></u></p>
<p><u>Blablabla</u><u></u></p><p>
我想使用以下正则表达式
<p><u>(.*?)<u>(.*?)</u><u></u></p>
替换第一行中的冗余<u>
<p><u><font face="Calibri">2013<u>Blablabla</u><u></u></p>
但是,这个正则表达式还包括第二行没有问题!
请帮助,谢谢!
答案 0 :(得分:0)
有关使用正则表达式解析htlm的所有警告,您可以使用:
(?s)<u>(?=(?:(?!</u>).)*?<u>)
查看the demo中的匹配项。
<强>解释强>
(?s)
激活DOTALL
模式,允许点在各行之间匹配,以防第二个<u>
位于另一行<u>
符合我们所需的<u>
(?=(?:(?!</u>).)*?<u>)
声称接下来是...... (?:(?!</u>).)
一个未跟</u>
,*?
根据需要多次,最多<u>