Regex 在记事本++;

Regex 在记事本++;,regex,notepad++,Regex,Notepad++,我正试图找到像这样的东西 MakeVariable(magnet, "1", "Enable magnet") 并替换为 CVariable magnet("magnet", "1", "Enable magnet") 这是我试过的 Find What: MakeVariable(([^ ]+), Replace with: CVariable \1 ("\1 ", 您需要在搜索和替换模式中转义文字括号 另外,如果您的第一个参数是一个单词字符块,请使用\w+匹配它: 查找内容:MakeV

我正试图找到像这样的东西

MakeVariable(magnet, "1", "Enable magnet")
并替换为

CVariable magnet("magnet", "1", "Enable magnet")
这是我试过的

Find What: MakeVariable(([^ ]+),

Replace with: CVariable \1 ("\1 ",

您需要在搜索和替换模式中转义文字括号

另外,如果您的第一个参数是一个单词字符块,请使用
\w+
匹配它:

查找内容:
MakeVariable\(\s*(\w+)

替换为:
c可变$1\(“$1”

详情:

  • MakeVariable
    -
    MakeVariable
    text
  • \(
    -文字
  • \s*
    -零个或多个空格
  • (\w+)
    -组1匹配一个或多个单词字符
与原始模式更相似的替代解决方案是使用
MakeVariable\(\s*(\s+),
regex搜索和
cvvariable$1\(“$1”),
模式替换(其中
\w+
替换为
\s+
-一个或多个非空白符号)


这不应该是
MakeVariable\([^]+),
?您也可以尝试
\g
而不是
\1
。实际上,替换模式中的
也应该转义,因为NPP使用了具有特殊含义的Boost样式条件替换模式。