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

Kol*_*lla 0 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"  
Run Code Online (Sandbox Code Playgroud)

rom*_*inl 5

在Vim:

:%s/\(\w*\).*string.*/\1 public string \1 { get; set }
Run Code Online (Sandbox Code Playgroud)

  • +1,如果在`string`之前添加`Type =`会更好.当然,当前示例对此命令行没有任何问题.另外我不明白是否用vim标记了一个问题,为什么另一个标签`notepad ++`仍然是必要的?^ _ ^只是开玩笑......很好的答案! (2认同)