2013-03-19 73 views
0

我有上百个看起来像下面的那些行的文件。我正则表达式技能是不够的,把工作做好。 我试图做到这一点取代在记事本++与搜索和使用正则表达式替换,还试图(和失败)在vim。正则表达式搜索和替换与分组

这是我的正则表达式

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

所以我要让第一线看起来像这样

Foretag public string Foretag { get; set; }

以下

和所有线路它匹配我的搜索术语,是TYPE = “字符串”

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

回答

5

在Vim中:

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

+1,它会更好,如果加上'类型=''之前string'。当然这个命令行当前的例子没有问题。另外我不明白,如果用vim标记问题,为什么其他标记'notepad ++'仍然是必要的?^_ ^只是开玩笑......很好的答案! – Kent 2013-03-19 11:24:53

+1

谢谢。实际上,我想增加一个更通用和更牢固的解决方案(拥有更多的捕获组和不同的量词),但我决定不这样做,并且针对问题中的样本保留特定的解决方案。 – romainl 2013-03-19 12:46:00

3

你会做这样的核电站:

查找:

​​ :

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

与更换

+0

谢谢的作品! – Kolla 2013-03-19 10:49:13