查看完整版本: 匹配C++中注释符(// 及 /*something */) 的正则怎么写

zoominla 2008-7-9 14:38

匹配C++中注释符(// 及 /*something */) 的正则怎么写

如题,不知道 "/" 这个符号在正则中如何表示,如果这样会报错.[code]comment_str = " // int ivalue = 10"
comment_str.gsub!(/^/s*\/\//, "")[/code]意思是我想用空串替换掉注释行,"//"前可能有前导空白字符。 但是执行时解释器报错,应该是"/"符号表示的不对

xavier 2008-7-9 17:07

字符"/"在ruby的字符串及正则表达式中需加转义字符\,既用"\/"表示"/"

zoominla 2008-7-10 09:09

你看我上贴的代码,用了\转义,但报错,我觉得奇怪。

zoominla 2008-7-10 12:54

问题解决了。上面的代码其实可以运行,可能错误出在别的地方了

sevk 2008-7-13 10:55

irb(main):057:0> "main(){xx;}  //it is a ".gsub!(/\/\/.+/, "")
=> "main(){xx;}  "

irb(main):056:0> "main(){xx;}  /* it is b */    ".gsub!(/\/*\/.*\/*/, "")
=> "main(){xx;}  "

^/s 应该是 ^\s

[[i] 本帖最后由 sevk 于 2008-7-13 11:12 编辑 [/i]]
页: [1]
查看完整版本: 匹配C++中注释符(// 及 /*something */) 的正则怎么写