0

所以我正在使用一个供应商应用程序,它使用正则表达式从我的网站中删除代码。我有一个想要使用正则表达式控件查找和删除的整个 div,但是当我尝试它时,换行符和 div 会妨碍我。有没有人有任何想法?我正在尝试.+?但就像我说的那样,用换行符和一切来思考它会阻止它收集一切。

<center>
<div id="divSiteFooter">
<div class="container darkblue">
<div class="row">
<div class="twocol">
<h3>Experience</h3>
</div>
<div class="twocol">
<h3>Access</h3>
</div>
<div class="twocol">
<h3>Assistance</h3>
</div>
<div class="twocol">
<h3>Inquire</h3>
</div>
<div class="fourcol last">
<h3>Connect</h3>
</div>
</div>
</div>
<div class="container darkerblue">
<div class="twocol">
<ul>
<li><a href="/Experience-Avalon/">Avalon Choice Cruising</a></li>
<li><a href="/Cruise-Vacations/">Our Cruises</a></li>
<li><a href="/River-Cruise-Ships/">Our Fleet</a></li>
<li><a href="/interactive-suite/">Photos & Videos</a></li>
<li><a href="/Affiliations/">Awards and Affiliations</a></li>
</ul>
</div></div></div>
</center>
4

2 回答 2

1

要么使用

<center>[\s\S]+?</center>

或打开singlelineDOTALL模式(如果可用).匹配任何字符,包括换行符,

(?s)<center>.+?</center>

您打开singleline模式的方式因语言/工具而异,但添加(?s)到正则表达式的开头将适用于其中的许多(但不适用于 Javascript)。

进一步评论

最好包含开始div标签以确保您删除了正确的center元素。IE

<center>\s*<div id="divSiteFooter">[\s\S]+?</center>
于 2013-04-16T16:23:05.523 回答
0

您是否尝试过正则表达式修饰符(或匹配模式)多行来搜索换行符?

http://www.regular-expressions.info/anchors.html#multi

于 2013-04-16T16:12:32.510 回答