正规表达式相信不是一个生话题,不过对于我来说却是个常用常新的东西。下面是我近日遇到的一个问题及其解决方法。
【要求】
1.删除代码中“//"开头的注释;
2.若"//"前存在无用的空格以及制表符也要删除;
3.如果注释是单独成一行,则保留之,不删除。
【分析】
1.可以使用正规表达式找到匹配之上要求的字符串并用空格替换之,即达到删除效果;
2.如上1,2要求倒容易完成,只是要求3其实是加上一个排除条件,使用正规表达式似乎达不到“条件”判定之目的。
【解决方案】(正规表达式版本不同,会稍有不同,如下在VS2008中测试OK)
検索文字列:{[^^]}( |\t)*//.*$
置換文字列:\1
置換文字列:\1
【常用常新】
带标记的表达式 | {} | 标记括号内的表达式所匹配的文本。 |
第 n 个带标记的文本 | \n | 在“查找”或“替换”表达式中,指示第 n 个带标记的表达式所匹配的文本,其中 n 是从 1 至 9 的数字。 在“替换”表达式中,\0 插入整个匹配的文本。 |
参考文献: