regex - 用于批量替换的 Visual Studio 正则表达式
问题描述
我正在尝试在 Visual Studio 2017 中查找和替换一些字符。例如,我想更改这一行:
rs.Fields("F1") = rs.Fields("F2"):
进入这一行:
rs.Fields["F1"].Value = rs.Fields["F2"].Value;
所以我需要根据这个更换:
( --> [
) --> ].Value
: --> ;
首先,我选择要更改的行,然后使用此正则表达式找到要更改的字符:
([():])
这工作很好。但我不明白如何正确地更换零件。
解决方案
您可以使用
查找:\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+ 个字符)
\)
- 一个)
:
- 一个冒号。