C# Visual Studio 2017-查找并替换为文本
我在一个类中拥有此属性:C# Visual Studio 2017-查找并替换为文本,c#,regex,visual-studio,C#,Regex,Visual Studio,我在一个类中拥有此属性: public string fooo { get; set; } 我需要把它改写成这样: [BsonElement("fooo")] public string fooo{ get; set; } 我必须为许多属性执行此操作,因此我希望在VisualStudio中使用“查找替换”功能 我使用以下宏: Search : public Replace : [BsonElement("")]\n\t\tpublic 如何使用regex动态获取fooo名称并将其放入
public string fooo { get; set; }
我需要把它改写成这样:
[BsonElement("fooo")]
public string fooo{ get; set; }
我必须为许多属性执行此操作,因此我希望在VisualStudio中使用“查找替换”功能
我使用以下宏:
Search : public
Replace : [BsonElement("")]\n\t\tpublic
如何使用regex动态获取
fooo
名称并将其放入bsonement
属性中?在全球范围内,是否可能有一个指向此文档的链接,我还没有找到它。这里有一个解决方案,用于格式化为公共字符串fooo{get;set;}
(空格很重要:一行,在属性名称后加空格)
搜索:
(public) (\w+) (\w+) { get; set; }
替换:
[BsonElement("$3")]\n\t\t$1 $2 $3 { get; set; }
说明:
$1
、$2
、$3
是在()
中捕获的组
\w
相当于[a-zA-Z0-9\]
,因此(\w+)
将匹配任何类型名称和属性名称
public(\w+)(\w+{get;set;}
粘贴到查找字段中[bsonement($2”)]\n\t\t public$1$2{get;set;}
粘贴到替换字段中virtual
、static
等,则需要更多的捕获组和更改索引。查找:(\s*)公共字符串(\w+{get;set;}
替换:$1[bsonement($2”)]\n$1公共字符串$2{get;set;}
此解决方案保留定义前的空白(制表符等)
我如何才能在第一个w+中排除
类,并包括第二个w+?排除类
:((?!类)\w+)
(负前瞻);包括运算符:([\w?]+)