RegEx找到NSLog,但不是{\ r。* NSLog

时间:2011-10-19 22:19:44

标签: regex xcode

在xCode中,我想查找我的NSLog语句,这些语句不以前一行的{前一行开头。

所以我想找不到:

if (debug) {
    NSLog(@"MyDebug");
}

并且只能找到。

  x=y+3;
  NSLog(@"MyDebug %d",x);

我在考虑类似:(?<!\{\r.*NSLog).*NSLog(?<!\{)\r.*NSLog(?!\{),但这似乎没有给我任何东西。

1 个答案:

答案 0 :(得分:2)

正如Jeremy在评论中提到的,Xcode不支持匹配多行的正则表达式。但是,根据xcode-users上的一个帖子中的this message,您可以使用非正则表达式搜索来搜索换行符:

  

Xcode的查找和项目查找不支持多行常规   表达式。他们支持多行文本查找...

     

(线程中的subsequent message表示您可以使用选项 - return 键入换行符。)

如果你知道你希望匹配的那一行上面的行总是以;结尾,你可以在非正则表达式搜索中利用它。

至于grep,遗憾的是它并不真的喜欢match multiple lines。 pcregrep可能更有用。