2011-04-02 191 views

回答

11

XCode的查找和替換不支持多行正則表達式。

如果你想搜索多行,你需要設置你的搜索選項爲「文本」,並鍵入選項+返回兩次或複製/粘貼兩個新行字符。然後用一個新行代替。

有關更多信息,請參閱here

+0

從打開的XCode編輯器複製和粘貼換行符到替換字段是我發現的唯一工作。最好的解決方案是使用AppCode ...比XCode功能豐富的界面。 – 2015-06-20 23:16:54

+0

此答案錯誤/過時。 Xcode確實支持多行正則表達式。 – 2016-07-09 19:30:42

10

在文本搜索領域......一個可以做多/「非打印字符」搜索/使用以下方法替換...

說我想取代

所有實例
/** 
* This is a comment... 

/** This is a comment... 

「搜索術語」 應輸入爲...

/**Alt鍵/選項+輸入空間*空間

和取代任期將簡稱爲輸入...

/**Alt鍵/選項+ Tab鍵

道德的故事..當你想在搜索/替換字段中使用用於替代目的的字符時...將修改器Alt/Option與他們的條目「字面上」使用它們。

+0

感謝您的幫助:) – 2013-12-10 12:22:42

+0

標記爲答案,如果它的工作! – 2013-12-10 20:27:58

+0

這節省了我的一天,非常感謝! – Bastian 2015-02-26 15:38:09

3

我通過在它的位置使用臨時字符串解決了這個問題。我的問題是有一點不同,我想找到的任何地方我有一個屬性和方法的聲明之間沒有空行界面,這樣的:

@property (nonatomic) NSBlah *someThing; 
- (id)someMethodThing; 

並將其替換:

@property (nonatomic) NSBlah *someThing; 

- (id)someMethodThing; 

爲了要做到這一點,我用這個發現使用多行:

@property(.*)\n([-+].*) 

然後我更換了與地方換行的一些文本字符串:

@property$1SOMETHINGWHATEVER123$2 

然後,我關掉正則表達式替換和常規文本替換,替換:

SOMETHINGWHATEVER123 

隨着Xcode的換行符,您可以通過點擊放大鏡選擇插入模式發現(這是在Xcode 7):

enter image description here

這則替換SOMETHINGWHATEVER123有兩個新行,導致我多正則表達式查詢被處理。

不知道這是如何直接適用於你的情況,因爲這是如此古老,但我找到了我的方式,所以也許其他人可能!