XCode:摆脱警告“未知转义序列\ +”

时间:2011-11-22 20:05:48

标签: xcode escaping warnings

在我的代码中,我广泛使用正则表达式,我的模式看起来像这样

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

对于转义序列,我得到编译器警告,例如“Unknown escape sequence +”,这非常令人讨厌,因为在我的情况下它没有错。我怎样才能摆脱这个警告?

1 个答案:

答案 0 :(得分:9)

你必须使用许多反斜杠字符:

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

要在字符串中获取\,需要对其进行转义:\\。因此\\\+应用第一个\来逃避第二个\,第三个\尝试逃避加号+这是非法逃脱。