首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >V8/火狐RegExp实现是基于有限自动机还是基于递归回溯?

V8/火狐RegExp实现是基于有限自动机还是基于递归回溯?
EN

Stack Overflow用户
提问于 2017-10-16 09:43:03
回答 1查看 119关注 0票数 0

我看到了这个文档:https://swtch.com/~rsc/regexp/regexp1.html声称Perl、Java和许多其他语言使用基于递归回溯的“慢速”RegExp,但是grep和awk (也是Go)使用更快的有限自动机。也就是说,regexp被转换为FA,然后执行。文章还指出,尽管FA技术的实现更加复杂,但所有语言都应该改用FA技术。我很好奇当前的JavaScript实现是否有这样或那样的方式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-16 16:20:28

V8的regexp引擎"Irregexp“是基于自动机的,参见https://blog.chromium.org/2009/02/irregexp-google-chromes-new-regexp.html

火狐现在使用的是V8的Irregexp分叉,参见bug.cgi?id=976446,所以它也是基于自动机的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46767265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档