我在这里链接了数百个类型的文件: http://pastebin.com/fGgLfZf8
但我想删除占用多行的所有注释 例如。
<!--- MPU --->
应保持不变,而
<!--
************
blablabla
************
-->
应该删除。
我知道Notepad ++功能通过regexp查找多个文档,我试着使用它,但是我有一些困难。 首先,我正在尝试这个正则表达式:
<\!\-\-(.*?)\-\->
在这里进行了测试:http://www.regextester.com/至少部分工作(因为它突出了刚刚在线发表的评论) 但是,如果我在Notepad ++上复制并粘贴此正则表达式,它将只匹配单行注释= \
有人知道如何在Notepad ++中执行此操作吗?
答案 0 :(得分:30)
在“搜索模式”中的“正则表达式”选项旁边有一个“匹配换行符”复选框(根据@glatapoui,应该注意这只适用于Notepad ++ v6,而不是以前的版本)。
答案 1 :(得分:2)
此表达式<!--.+?(?<=[\*\r\n])-->
也仅在Notepad ++中匹配多行注释。
答案 2 :(得分:0)
<!--[*a-zA-Z\r\n]*-->
这个似乎只在记事本++中采取多行注释
编辑:
小错误:空格是这个问题的一个问题。
你可以试试
<!--[\r\n]{1}[* a-zA-Z\r\n]*-->
答案 3 :(得分:0)
捕获多行文本的另一种方法是使用表达式:
<!---([\S\s]+?)--->
\ S +匹配所有无空格符号,
\ s +匹配所有空格符号(包括\ r \ n \ t)。
它可能适用于记事本++,否则也可以...
编辑: 乍一看,我没有注意到问题是捕获并仅删除多行注释(单行注释除外)。 我发现了两次迭代的方法。 首先,我们需要查找并替换以下内容
<!—-(?:(?!.*—->)[\s\S]+?—->|)
这将捕获所有多行注释和单行注释的前缀。 然后,我们需要恢复丢失的单线前缀:
Find:
(.+—->)
Replace:
<!—-\1
它将修复单行注释。 “->”的组合不能出现xml代码,否则不能以注释结尾。