Notepad++使用正则表达式快速删除注释

转自:http://www.manongjc.com/detail/20-vyuomnvckddi.html

摘要: Notepad++使用正则表达式快速删除注释:单行注释,多行注释,html注释。

运用Notepad++中的替换功能和正则表达式匹配可以快速删除大量注释

删除的具体步骤如下:

1.打开Notepad++,按Ctrl + H 打开替换框

2.点击如图按钮切換到使用正则表达式匹配

3.输入正则表达式,选择全部替换

下面就分享一下常用的几种注释方式的正则表达式

单行注释
特征:// 开头

匹配模式 //[^\r\n]*

步骤如下:

保护源代码(非注释)部分的 //

“”,‘’,``
包含的字符串中的 //,替换为 \/\/,目的是在正式替换前保护源代码(非注释)部分的 //。由于反斜杠本身需要转义,所以替换为文本框中应输入:\\\/\\\/

模式

(“["\r\n]*?)//([”\r\n]?")|(‘['\r\n]*?)//([’\r\n]?')|([^\r\n]*?)//([^\r\n]*?)
替换为:

\1\3\5\\\/\\\/\2\4\6
2.模式 //[^\r\n]* 替换为:不填。删除注释

3.恢复 源代码(非注释)部分的 //。模式 \\\/\\\/ 替换为 //

匹配模式分析及使用注意事项
单行注释出现的位置:

1.单独占一行(这种匹配最简单):\s+//[\r\n]*

2.在一行代码之后。

这里仅以 java/c/c++/javascript 语言为例进行匹配。

regex :

//[^\r\n]*
当源代码(非注释)中含 “//” 时,这个模式可能对源代码造成破坏。

如对以下代码:

str.replace(“//abc”,“def”);
str.replace(“;abc;//”,“def”);
str.replace(“a//bc”,“def”);
str += “//def”;
str += ‘sbc//ed’
s1 = a b //${s2}
s2 += “//dce”; // 追加
替换后结果:

str.replace("
str.replace(";abc;
str.replace("a
str += "
str += 'sbc
s1 = `a b
以上特殊情况的匹配模式为:

(“["\r\n]*?)//([”\r\n]?")|(‘['\r\n]*?)//([’\r\n]?')|([^\r\n]*?)//([^\r\n]*?)
如果用正则表达式排除以上情况比较复杂,可以考虑先将以上情况中的 // 保护起来,再删除注释后,再恢复。具体的步骤上面已介绍,以下不再赘述。

块注释(多行注释)

特征:/* 和 */ 之间。

/\*[\s\S]*?\*/

html 注释

<!--([\s\S]*?)-->

你可能感兴趣的:(Notepad++,notepad++)