在我的代码中,我广泛使用正则表达式,我的模式看起来像这样
regexp = [[NSRegularExpression alloc] initWithPattern:@".*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+" options:0 error:nil];
对于转义序列,我得到编译器警告,例如“Unknown escape sequence +”,这非常令人讨厌,因为在我的情况下它没有错。我怎样才能摆脱这个警告?
答案 0 :(得分:9)
你必须使用许多反斜杠字符:
regexp = [[NSRegularExpression alloc] initWithPattern:@".*?\\+.*?\\+.*?\\+.*?\\+.*?\\+.*?\\+" options:0 error:nil];
要在字符串中获取\
,需要对其进行转义:\\
。因此\\\+
应用第一个\
来逃避第二个\
,第三个\
尝试逃避加号+
这是非法逃脱。