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