我需要修复无效的html(Ps中的div)。我正试图找到一个正则表达式来修复它,但我做不到。正则表达式必须用</p><DIV>...</DIV><p>
替换Ps内的<DIV>...</DIV>
,但不能替换Ps外的DIV。
类似(伪随机):
s/(<p>)(NOT_</p>*)(<div>.*?</div>)/$1$2</p>$3<p>/
这是初始html(错误):
<p>
text 1
<div>inside div 1</div>
<div>inside div 2</div>
text 2
</p>
text 3
<div>inside div 3</div>
text 4
<p>
text 5
<div>inside div 4</div>
text 6
</p>
它应该是这样的:
<p>
text 1
</p><div>inside div 1</div><p>
</p><div>inside div 2</div><p>
text 2
</p>
text 3
<div>inside div 3</div>
text 4
<p>
text 5
</p><div>inside div 4</div><p>
text 6
</p>
提前谢谢。
此正则表达式将在PCRE样式的正则表达式中工作
就像PHP或Notepad++中使用的一样。
(?:<p>|G)[^<>]*?K(<div>.*?</div>)|</p>K(?R)
替换为:<p>1</p>
可以在这里尝试