利用正则表达式替换功能,将C++注释转变成纯C的注释
利用正则表达式替换功能,将C++注释转变成纯C的注释
C语言最早支持的注释只有一种,就是/* ... */。后来C++引入了//注释一行的功能。但是并不是所有的C语言编译器都支持//的注释风格,比如Turboc C就不支持。
如果要将用//注释的程序移植到不支持//注释的C语言编译器下编译,是件很麻烦的事情,因为//的注释太多了,手工不好修改。
对于单行注释,形如:/*abcd*/,可用正则表达式表示为: /\*.*\*/
简单解释一下好了,大致思路就是匹配 /* 和 */ 之间的任意字符。
1、 / 的意思就是 /* 前面的那个 /
2、 \* 的意思是 /* 后面的那个 * ,只是因为 * 是通配符,所以要匹配 * 的时候必须使用它的转义字符 \*
3、 . 的意思是匹配字符
4、 * 的意思就是任意字符,连起来 .* 的意思就是匹配任意字符
5、 \* 的意思是 /* 后面的那个 * ,只是因为 * 是通配符,所以要匹配 * 的时候必须使用它的转义字符 \*
6、 / 的意思就是 /* 前面的那个 /
而对于//注释,可以注释一行,可用正则表达式表示为:// {.*}
最后,我们可以利用编译器中的“查找/替换”功能,。在“查找内容”中输入: // {.*} ,在"替换为“中输入:/\*.*\*/,即可!