记事本++(perl)正则表达式匹配多行模式

时间:2013-06-12 08:29:10

标签: regex notepad++

我想从几百个html文件中删除一个div

<div id="mydiv">
    blahblah blah
    more blah blah
    more html
    <some javascript here too>
</div>

我认为这可以胜任,但不是

<div(.*)</div>

有谁知道哪个是正确的正则表达式?

提前致谢

1 个答案:

答案 0 :(得分:2)

<强>正则表达式

<div[^>]+>(.*?)</div>

请不要忘记查看. matches newline选项,如下图所示:dot matches newline checkbox - Notepad++ v6.2.3

或者,您也可以使用此正则表达式:<div[^>]+>([\s\S]*?)</div>选中或不选中复选框。

<强>讨论

由于*元字符是贪婪的,你需要告诉他尽量少用字符(使用?)。

检查要删除的div是否包含嵌套div。在这种情况下,我的答案开头的正则表达式对你没有帮助。

如果您遇到这种情况,我建议您使用html解析器。