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
正文完