在visual studio中搜索并替换正则表达式

时间:2010-12-29 21:58:16

标签: regex visual-studio

我有一堆代码,我需要进行搜索并替换它以使其成为新项目的正确形式。我需要从一堆标识符中删除前缀,但我不希望它在带引号的字符串中有任何影响。例如,如果我有这个代码

#include "ABCmyfile.h"

class ABCmyclass
{
 ...
};

我希望输出为

#include "ABCmyfile.h"

class myclass
{
  ...
}

我需要搜索许多不同的标识符,所以我不能只做ABCmyclass - > myclass,因为这需要太长时间。

在正则表达式模式下,在搜索和替换对话框中,我尝试搜索

~:q<ABC

并将其替换为空,但这不起作用。

有没有人知道搜索并替换我可以用来从我的标识符中删除前缀的正则表达式?

3 个答案:

答案 0 :(得分:1)

如果ABC前缀始终位于带引号的字符串的开头,则可能适合您:

找到什么:   [^“] ABC

替换为:(空格)

此更改

#include "ABCmyfile.h"

class ABCmyclass
{...};

class ABCfoobar
{...};

class ABCdracula
{...};

#include "ABCmyfile.h"

class myclass
{...};

class foobar
{...};

class dracula
{...};

怎么样?

答案 1 :(得分:0)

你不能分三步完成:

  1. "ABC替换为"__PLACEHOLDER__
  2. ABC替换为
  3. __PLACEHOLDER__替换为ABC

答案 2 :(得分:0)

如果您认为标识符前面总是空白,请尝试搜索{:Wh}~(")ABC并将其替换为\1

为什么不~:q<ABC:工作?

  • 我认为它需要〜(:q),而不是〜:q
  • :q匹配引用的字符串,如“ABCmyfile.h”,而不是引号字符
  • &LT;似乎忽略引号字符