2011-04-02 119 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有两个新行,导致我多正则表达式查询被处理。

不知道这是如何直接适用于你的情况,因为这是如此古老,但我找到了我的方式,所以也许其他人可能!