2012-03-16 98 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