2012-03-16 62 views
3

你好,我在这里有一个大文件,我需要替换一些值,所以我必须使用正则表达式: 任何人都可以帮助我,并告诉如何做到这一点?Notepad ++正则表达式替换

<FieldRef ID="{FE652450-8A96-416E-AAE4-F85BE196A249}" Name="CG" DisplayName="CG"/> 
    <FieldRef ID="{AAA6ABCD-CE07-4D0E-A689-773DD47F4D64}" Name="Statut" DisplayName="Statut"/> 
    <FieldRef ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" Name="ElementCMin" DisplayName="Element C Min"/> 

所以在这一行我需要用空字符串替换ID =“{guid}”。

+1

ID =“[^”] +“应该这样做,未经测试,但不记得Notepad ++的正则表达式的细节 – Corbin 2012-03-16 08:01:40

+0

只是一个提示:在替换任何你可以使用Notepad ++”Mar k“函数来检查你的替换是否正确 – Gabber 2012-03-16 08:24:07

回答

7

在尝试以下

ID="{[a-zA-Z0-9-]+}" 
+0

谢谢你的工作 – Alnedru 2012-03-16 08:37:30

+1

你也可以更具体一些,用字符的确切数字代替'+': ID =“{[a-zA-Z0-9-] {36}}” – 2012-09-25 02:06:13

1

此正则表达式应该做

ID="\{.*\}" 

做一个空以下行替换就大功告成了。 但是,如果你有在}"结束更多的东西出现,记事本会做错事,将替换功能在此行

text1 ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" 
text ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" text2 

将删除一切,除了

text1 text2 

但是看看Notepad++ non-greedy regular expressions如果你需要解决这个问题。

编辑: 如果你有记事本++ 5.9版本以上的corret正则表达式是

ID="\{.*?\}" 

它停在第一个花括号行

+0

@Benoit似乎你甚至没有阅读我的整个答案,这个问题在我第一次编辑之前就已经指出了。假设这个文件就像这个例子,我的答案很好。假设文件在一行中有多个GUID,使用np ++ v 5.9,编辑的答案工作正常。 – Gabber 2012-03-16 13:33:44

+0

你是对的,对不起。 – Benoit 2012-03-16 14:14:40