正则表达式搜索并替换为分组

时间:2013-03-19 10:32:14

标签: regex vim notepad++

我有一个包含数百行的文件,如下所示。我的正则表达能力不足以完成工作。 我正在尝试使用搜索替换Notepad ++中的替换,并使用正则表达式进行替换,在vim中也尝试过(和失败)。

这是我的正则表达式

  

public string (^[A-Z]*[\S]) { get; set }

所以我想让第一行看起来像这样

  

Foretag public string Foretag { get; set; }

以及跟随它的所有行匹配我的搜索字词Type =“string”

Foretag Type="string"
DagboksDatum Type="DateTime"  
Byggdag Type="int"  
PaborjadeArbeten Type="string"  
FardigaArbeten Type="string"  

2 个答案:

答案 0 :(得分:5)

在Vim:

:%s/\(\w*\).*string.*/\1 public string \1 { get; set }

答案 1 :(得分:3)

你会在Npp中这样做:

找到什么:

^(\w+) Type="(\w+)"

替换为:

\1 public \2 \1 { get; set; }