NotePad ++上具有不同字符的文本之间的正则表达式

时间:2014-11-15 02:21:00

标签: regex notepad++

我正在尝试捕获以<div id="usermenu">开头的代码,直到它的结尾标记</div>我可以使用正则表达式执行此操作。请参阅代码示例

&#13;
&#13;
<div id="logo"> LOGO   <a href="index.html"></a></div>
    	    <!-- REGEX STARTS HERE -->
		<div id="usermenu">
 BLA BLA BLA BLA
.......................<br/>
          		<div class="another-div>LA BLA BLA BLA<div>
 BLA BLA BLA BLA
.......................<br/>
                 	<div class="some-another-div>LA BLA BLA BLA<div> 		
 BLA BLA BLA BLA
.......................<br/>
</div>

<!-- REGEX STOPS HERE -->
<div id="topmenu-position">TOP MENU</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

您可以在Notepad ++中使用以下正则表达式。

确保&#34;正则表达&#34;与.匹配的换行符会被检查。

<div id="usermenu">.*?</div>

答案 1 :(得分:1)

这很有效。

<div id="usermenu">[^\<]{0,}</div>

如果你只想要标签之间的那个,比如替换,请使用它。

<div id="usermenu">([^\<]{0,})</div>

答案 2 :(得分:0)

我没有手写的Notepad ++副本,但这样的东西可能有用:

(<div id="usermenu">.+?<\/div>)

只需确保启用点(。)以匹配所有换行符。您可以使用以下代码http://regex101.com/进行测试:

/(<div id="usermenu">.*?<\/div>)/s

FWIW,s = dot(。)匹配包括换行符http://perldoc.perl.org/perlre.html#Modifiers在内的所有内容。尽管如此,我可能会使用HTML解析器来执行这样的操作。如果您使用的是Python,BeautifulSoup就是一个这样的解析器。