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

What regular expression engine does XCode's Find Navigator use

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

快速回答:ICU 引擎。(这与用于 NSRegularExpression 的引擎相同)。

更长的版本:

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

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

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

这使我们相信 Xcode 正在使用 ICU 引擎为其搜索和替换功能提供支持。这是有道理的,因为 Xcode 可能建立在 NSRegularExpression 之上或底层 libicucore.