很少使用VS的正则替换功能,最近因为需要添加大量的默认值,但是又不想重新类,就想到了这个。
1.替换带有///描述的属性
查找的正则表达式:
/// <summary>((.)*((.| ){1,2})){1,2}///(.{1,})((.)*((.| ){1,2})){1,2}/// </summary>((.)*((.| ){1,2})){1,2}public string (.{1,}) { get; set; }
替换的正则表达式:
private string _$14; /// <summary> ///$5 /// </summary> public string $14 { get { if (string.IsNullOrWhiteSpace(_$14)) { _$14 = ""; } return _$14; } set { _$14 = value; } }
其中$1...$n,代表第几个匹配项,很多时候自己计算的时候可能不正确,这样就在替换哪里写:$1;$2;....;$n这样就可以很直观知道那个是你想要的值,在上面的替换表达式中$5是注释内容,$14是属性名;
2.替换没注释的属性
查找的正则表达式:
public string (.{1,}) { get; set; }
替换的正则表达式:
private string _$1; /// <summary> ///$1 /// </summary> public string $1 { get { if (string.IsNullOrWhiteSpace(_$1)) { _$1 = ""; } return _$1; } set { _$1 = value; } }
这里只是描述了一个简单的用法。