是JS regexp引擎正则引导还是文本定向

时间:2016-02-19 09:42:34

标签: javascript

我正在阅读不同的regexps引擎here,并且有两种类型的引擎:regex-directed和text-directed。 JavaScript使用什么引擎类型?我认为它是regex-directed,但我想肯定地知道。

2 个答案:

答案 0 :(得分:2)

在您提供的链接中,据说正则表达式引擎只能处理反向引用,因为JavaScript正则表达式具有此功能,我说它是正则表达式。

摘自文章:

  

几乎所有现代正则表达式都基于正则表达式引擎。这是因为某些非常有用的功能,例如延迟量词和反向引用,只能在正则表达式引擎中实现。

答案 1 :(得分:0)

  

您可以通过将正则表达式«regex | regex not»应用于字符串“ regex not”来进行测试。如果结果匹配仅是“ regex”,则将引擎定向为正则表达式。如果结果是“ regex not”,则它是文本定向的。其背后的原因是正则表达式控制的引擎“渴望”。

来自Jan Goyvaerts book的启发式方法。 适用于Python 3.7 re库。