首页 > 关于Objective-C 正则表达式的问题

关于Objective-C 正则表达式的问题

Objective-C基于NSRegularExpression使用正则表达式,在官方文档中是这样描述的:

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression 
                             regularExpressionWithPattern:@"\\b(a|b)(c|d)\\b" 
                             options:NSRegularExpressionCaseInsensitive 
                             error:&error];

在这段代码中正则表达式的元字符使用的是双斜杠,这是为什么?是不是Objective-C中的正则表达式都要使用双斜杠来使用元字符?


查了些资料,因为Objective-C、C和C++的编译器会"\b"会忽略"\"而得到是"b",所以要的到字符串"\b"就要写成"\\b"。

参考:http://stackoverflow.com/questions/11442101/ios-regex-unknown-escape-sequence

【热门文章】
【热门文章】