2011-11-22 77 views
4

在我的代码我大量使用正则表达式,我的模式是这样的的XCode:摆脱警告的“未知的转义序列 +”

regexp = [[NSRegularExpression alloc] initWithPattern:@".*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+" options:0 error:nil]; 

转义序列,这是我得到的编译器警告像“未知的转义序列+”这是非常恼人的,因为它在我的情况下没有错。我怎样才能摆脱这个警告?

+1

除禁用所有警告(或使用不导致编译器警告的转义序列)外,没有办法。 – chown

+0

@chown这是不正确的。请参阅Pragma警告推/流行语法http://stackoverflow.com/questions/4193476/is-using-pragma-warning-push-pop-the-right-way-to-temporarily-alter-warning-lev – griotspeak

回答

9

你有很多反斜杠字符,请使用:

regexp = [[NSRegularExpression alloc] initWithPattern:@".*?\\+.*?\\+.*?\\+.*?\\+.*?\\+.*?\\+" options:0 error:nil]; 

要获得它需要被转义的字符串一个\\\。所以\\\+适用第一个\转义第二个\和第三个\试图逃脱加号+这是一个非法逃脱。