我有很多代码,想要查找并替换其中的一些文本。我想替换所有匹配项,但不包括注释中的匹配项。假设我想在我的代码中查找并替换字符串“text”。例如:
Console.WriteLine("text"); // must be replaced
// some text /* does not need to be replaced because this string begins from "//" */
不幸的是,我不知道如何使用正则表达式。有人能帮助我吗?
答案 0 :(得分:0)
严格按要求"查找text
除非被//
和\n
" 包围,否则这将是正则表达式使用并且只处理捕获组1.但是注意(就像我在评论中所说的那样)字符串中的注释分隔符不会被占用,如debuggex demo中的第3行所示。 nhahtdh说正确的替换回调函数是正确的,然后你可以捕获任何字符串并在回调中进一步调查它。
\/\/[^\n]*(?:\n|$)|(text)
答案 1 :(得分:-1)
^[^\/]+(\/\/.*)\n
我认为这应该符合您的需求