VS 中正则表达式替换Code

前端之家收集整理的这篇文章主要介绍了VS 中正则表达式替换Code前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在VS中使用正则表达式替换,有时候在维护老项目,升级老项目时非常高效率

但是在VS中的正则用法会跟我们在程序中的略有区别,比如

  • <>要经过转义写成\<\>
  • {3}在程序中的正则表示重复3次,在VS需要写成^3
  • \d 在程序中表示数字,在VS中需要写成:z,表示:([0-9]+)简写
  • ([a-z]+)在程序中需要定义一个变量,在VS中则为{[a-z]+},然后使用变量时为:\1

等等。。。、


使用参照代码http://www.jb51.cc/article/p-nbqghnvj-bh.html

示例代码

需求:

sa.VolAvg20d = new NullableValue<double>((row[SecAttributeField.VolAvg20d])); //Original
example[dbName] = sec.VolAvg20d.HasValue ? sec.VolAvg20d.Value : 0.0d; //Target
正则:
sa\.{[a-zA-Z0-9_]+} = new NullableValue\<double\>\(\(row\[SecAttributeField\.[a-zA-Z0-9_]+\]\)\)
example[dbName] = sec.\1.HasValue ? sec.\1.Value : 0.0d

其他例子:
columns.Contains\(SecAttributeField\.{[^)]+}\)
secColumName == SecAttributeField.\1
	
sa\.{[a-zA-Z0-9_]+} = row\[SecAttributeField\.{[a-zA-Z0-9_]+}\] is DBNull \? string\.Empty \: row\[SecAttributeField\.{[a-zA-Z0-9_]+}\]\.ToString\(\);
example[dbName] = sec.\1 ?? string.Empty;
原文链接:https://www.f2er.com/regex/362432.html

猜你在找的正则表达式相关文章