首页 > 解决方案 > 用于批量替换的 Visual Studio 正则表达式

问题描述

我正在尝试在 Visual Studio 2017 中查找和替换一些字符。例如,我想更改这一行:

rs.Fields("F1") = rs.Fields("F2"): 

进入这一行:

rs.Fields["F1"].Value = rs.Fields["F2"].Value; 

所以我需要根据这个更换:

( --> [
) --> ].Value
: --> ;

首先,我选择要更改的行,然后使用此正则表达式找到要更改的字符:

([():])

这工作很好。但我不明白如何正确地更换零件。

标签: regexvisual-studioreplace

解决方案


您可以使用

查找\b(rs\.Fields)\(([^()]*)\)(\s*=\s*)(rs\.Fields)\(([^()]*)\):
替换$1[$2].Value$3$4[$5].Value;

查看正则表达式演示

细节

  • \b(rs\.Fields)- 第 1 组(稍后$1从替换中引用):rs.Fields子字符串(\b是要匹配的单词边界,rs而不是rs在,比如说, brs
  • \(- 一个(
  • ([^()]*)(- 第 2 组:除和之外的任何 0+ 个字符)
  • \)- 一个)
  • (\s*=\s*)- 第 3 组: =包含可选空格的 a
  • (rs\.Fields)- 第 4 组:rs.Fields
  • \(- 一个(
  • ([^()]*)(- 第 5 组:除和之外的任何 0+ 个字符)
  • \)- 一个)
  • :- 一个冒号。

推荐阅读