JTh*_*ora 1 regex xcode objective-c nsregularexpression
我在Xcode中收到了警告: Unknown escape sequence '\]'
问题代码: _regexForFindingTags = [[NSRegularExpression alloc] initWithPattern:@"\[.*?\]" options:ops error:&error];
有问题的搜索模式: \[.*?\]
为什么对此特定搜索模式有警告?
如何克服这个警告?
我的搜索模式适用于Regex Tester(在Javascript中授予).根据Ray Wenderlich的NSRegularExpression教程,]角色应该可以使用\角色逃脱,所以我错过了一些东西......
您从编译器收到一个解析字符串文字的警告,而不是来自正则表达式引擎.由于字符串文字也存在转义,序列@"\["只是语法错误,除了正则表达式的语法之外(毕竟它只是字符串,对吧?).所以,如果是原始正则表达式\[.*?\],则必须将其转换为:
[… initWithPattern:@"\\[.*?\\]" …];
Run Code Online (Sandbox Code Playgroud)
即你在正则表达式级别转义括号,然后在字符串文字级别转义反斜杠,因此@"\\[.*?\\]"变为\[.*?\]内存字节.
| 归档时间: |
|
| 查看次数: |
2386 次 |
| 最近记录: |