正则表达式的评论

时间:2014-10-22 08:40:59

标签: regex regex-negation

我有很多代码,想要查找并替换其中的一些文本。我想替换所有匹配项,但不包括注释中的匹配项。假设我想在我的代码中查找并替换字符串“text”。例如:

Console.WriteLine("text"); // must be replaced 
// some text    /* does not need to be replaced because this string begins from  "//"  */ 

不幸的是,我不知道如何使用正则表达式。有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

严格按要求"查找text除非被//\n" 包围,否则这将是正则表达式使用并且只处理捕获组1.但是注意(就像我在评论中所说的那样)字符串中的注释分隔符不会被占用,如debuggex demo中的第3行所示。 nhahtdh说正确的替换回调函数是正确的,然后你可以捕获任何字符串并在回调中进一步调查它。

\/\/[^\n]*(?:\n|$)|(text)

Regular expression visualization

Debuggex Demo

答案 1 :(得分:-1)

^[^\/]+(\/\/.*)\n

我认为这应该符合您的需求