【问题标题】:Visual Studio Find and Replace Regular Expressions helpVisual Studio 查找和替换正则表达式帮助
【发布时间】:2011-01-08 16:34:33
【问题描述】:

我想替换一些赋值语句,例如:

int someNum = txtSomeNum.Text; 
int anotherNum = txtAnotherNum.Text;

int someNum = Int32.Parse(txtSomeNum.Text);
int anotherNum = Int32.Parse(txtAnotherNum.Text);

有没有使用正则表达式的 Visual Studio 查找和替换的好方法?我不确定正则表达式是什么。

【问题讨论】:

    标签: regex visual-studio-2008 replace


    【解决方案1】:

    我认为在 Visual Studio 中,您可以使用花括号 {txtSomeNum.Text} 标记表达式。然后在替换的时候,可以用\1来参考。所以替换行将类似于Int32.Parse(\1)


    更新:通过@Timothy003

    VS 11 取消了 {} \1 语法并使用 () $1

    【讨论】:

    • 我知道这已经过时了......但是为什么微软必须以他们自己的方式做所有事情。我曾经使用过的所有其他 IDE 和软件都使用 () 来标记表达式,并使用 $1 来引用它们。微软应该调用这些不规则表达式
    • @MikeMurko VS 11 取消了 {} \1 语法并使用 () $1。耶!
    【解决方案2】:

    对原始问题更好的正则表达式是

    查找表达式:{:i\.Text}

    替换表达式:Int32.Parse(\1)

    查看: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx

    获取 VS 中正则表达式的权威指南。

    我最近完成了对另一个程序员的 C++ 项目的重新格式化。他完全任意输入或随机输入或省略空格和制表符、缩进(或不)以及括号嵌套的疯狂级别,以至于我们都不习惯任何类型的编码标准甚至可以在我开始之前就开始阅读代码。广泛使用正则表达式来查找和纠正异常结构。在几个小时内,我能够纠正大约 125,000 行代码中的主要问题,而无需实际查看其中的大部分。在一个特定的查找/替换中,我在 125 个文件中更改了超过 22,000 行代码,总时间不到 10 秒。

    正则表达式中特别有用的结构:

    :b+ == 一个或多个空格和/或制表符。

    :i == 匹配 C 风格的变量名或关键字(即 while、if、 pick3, bNotImportant)

    :Wh == 一个空白字符。;不只是空白或制表符

    :Sm == 任何算术符号(+、-、>、= 等)

    :Pu == 任何标点符号

    \n == 换行符(用于查找他在哪里插入了 8 或 10 个空行)

    ^ == 匹配行首($ 匹配结尾)

    虽然匹配其他一些正则表达式标准会很好 (duh),但我确实发现一些 MS 扩展对于搜索代码库非常有用,例如不必将“标识符”定义数百次为“ [A-Za-z0-9]+",而不是只使用 ":i"。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      这就是我要找的东西:

      查找:= {.*\.Text}

      替换:= Int32.Parse(\1)

      【讨论】:

      • 您应该转义正则表达式中的第二个句点。
      • 好收获。我实际上需要转义 \ 字符才能显示。
      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      相关资源
      最近更新 更多