XCode的Find Navigator使用什么正则表达式引擎

时间:2015-06-22 18:16:41

标签: regex xcode pcre icu

关于RegEx引擎XCode的Find Navigator使用的内容,Apple,Google搜索和StackOverflow的文档不存在,这使得编写表达式变得非常困难。例如,我试图做一个负面的后视,但它不起作用。有谁知道隐藏的文档在哪里?

1 个答案:

答案 0 :(得分:1)

快速回答:ICU引擎。(这也是用于NSRegularExpression的引擎)。

更长的版本:

PCRE和ICU(两个领先的正则表达式引擎)之间的主要区别在于PCRE支持其表达式中的递归。 simple example of this将是:

\w{3}\d{3}(?R)?

完全匹配aaa111bbb222。但是,将其输入Xcode(7.1.1)正则表达式查找字段会产生此警报:

Find Failure: not a valid regular expression.

这使我们相信Xcode正在使用ICU引擎来驱动它的搜索和替换功能。这是有道理的,因为Xcode可能构建在NSRegularExpression之上或基础libicucore之上。