Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 需要正则表达式帮助才能转换代码吗_Regex_Visual Studio - Fatal编程技术网

Regex 需要正则表达式帮助才能转换代码吗

Regex 需要正则表达式帮助才能转换代码吗,regex,visual-studio,Regex,Visual Studio,我有一个庞大的清单,包括以下项目: _tags.Add(Foo.Bar, new Baz( ... )); _tagNames.Add("Bar", _tags[Foo.Bar]); 其中Bar和Baz(…)不同,_标记、_标记名和Foo保持不变 我想变成 case "Bar": _ta

我有一个庞大的清单,包括以下项目:

    _tags.Add(Foo.Bar,
                  new Baz(
                      ...
                      ));

        _tagNames.Add("Bar",
                  _tags[Foo.Bar]);
其中Bar和Baz(…)不同,_标记、_标记名和Foo保持不变

我想变成

    case "Bar":
        _tags.Add(Foo.Bar,
                  new Baz(
                      ...
                      ));

        _tagNames.Add("Bar",
                  _tags[Foo.Bar]);

        break;
我正在使用支持regex的visualstudio

有什么想法吗

谢谢


更新:VS无法处理此正则表达式的2300个实例。我在Eclipse中实现了这一点:

搜索模式:_tags.Add((?:.|\R)*?_tags[Foo.(..*)

替换:大小写“\1”:\n\0\n中断

在VS 2008上测试:

_tags\.Add\((.|\n)@_tags\[Foo\.{(.@)}\]\);
将其作为替换字符串:

case "\1":\n\0\nbreak;
您可能需要插入一些制表符以保持缩进(或使用自动格式)

更新:

在vs中使用的已测试和固定正则表达式在vs 2008上测试:

_tags\.Add\((.|\n)@_tags\[Foo\.{(.@)}\]\);
将其作为替换字符串:

case "\1":\n\0\nbreak;
您可能需要插入一些制表符以保持缩进(或使用自动格式)

更新:


已测试并修复了在vs中使用的正则表达式

不清楚您想更新我的答案。我在vs2008上进行了测试,到目前为止应该可以正常工作。现在还不清楚你想更新我的答案是什么。我在vs2008上进行了测试,到目前为止应该可以正常工作。结果表明VS无法处理这种模式的1800个实例上的正则表达式。你能推荐一种脚本语言来处理这个问题吗?我在PHP和Java中使用正则表达式。如果使用得当,两者都应该能够处理许多文件,甚至大文件。不幸的是,设置没有那么快。如果您运行的是eclipse或本地xampp,您可能会很幸运。我在eclipse中实现了这一点:_tags\.Add((?:。|\R)*?_tags[Foo\.(.*);案例“\1”:\n\0\n中断;是的,没错,没问题。月蚀岩石!事实证明VS无法处理这种模式的1800个实例上的正则表达式。你能推荐一种脚本语言来处理这个问题吗?我在PHP和Java中使用正则表达式。如果使用得当,两者都应该能够处理许多文件,甚至大文件。不幸的是,设置没有那么快。如果您运行的是eclipse或本地xampp,您可能会很幸运。我在eclipse中实现了这一点:_tags\.Add((?:。|\R)*?_tags[Foo\.(.*);案例“\1”:\n\0\n中断;是的,没错,没问题。月蚀岩石!