Visual Studio 2017 - 查找并替换为文本

时间:2018-01-19 14:51:18

标签: c# regex visual-studio

我在课堂上有这个属性:

 /* Some rules use !important because Material UI sets them by default */
.test > div > div {
  background-color: #3B8DBC;  /* Same background-color as TestPanel */
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.test > div > div > div {
  /* Not overriding the color and border radius here too result in your changes
     not being visible. */
  background-color: inherit !important;
  border-top-left-radius: 4px !important;
  border-top-right-radius: 4px !important;
}

.test > div > div > div > div {
  /* This div is the topmost padding between the modal content and the edge
     of the modal */
  padding: 0 !important;
}

我需要用类似的东西重写它:

public string fooo { get; set; }

我必须为很多属性做这件事,所以我想使用'查找替换功能'在Visual Studio中。

我使用以下宏:

[BsonElement("fooo")] 
public string fooo{ get; set; }

如何使用正则表达式动态获取Search : public Replace : [BsonElement("")]\n\t\tpublic 名称并将其放入fooo属性?在全球范围内,是否可以链接到关于此的文档,无法找到它。

3 个答案:

答案 0 :(得分:4)

以下是格式化为public string 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+)将匹配任何类型名称和属性名称

答案 1 :(得分:1)

查找:(\s*)public string (\w+) { get; set; }

替换:$1[BsonElement("$2")]\n$1public string $2{ get; set; }

此解决方案在定义

之前保留空白(制表符等)

Image for your convenience

答案 2 :(得分:0)

  1. 打开查找和替换(Ctrl + H)
  2. public (\w+) (\w+) { get; set; }粘贴到“查找”字段中。
  3. [BsonElement("$2")]\n\t\t public $1 $2 { get; set; }粘贴到替换字段中。
  4. 启用正则表达式(Alt + E)。
  5. 全部替换(Alt + A)。或者选择性地逐一进行。
  6. 但请注意,如果您有其他关键字,例如virtualstatic等,则需要更多捕获组并更改索引。