开发者社区 问答 正文

NFA是什么啊?它有哪些优缺点呢?

已解决

NFA是什么啊?它有哪些优缺点呢?

展开
收起
一个臻吖 2022-04-01 12:18:46 842 分享 版权
1 条回答
写回答
取消 提交回答
  • 推荐回答

    传统的 NFA 引擎运行所谓的“贪婪的”匹配回溯算法,以指定顺序测试正则表达式的所有可能的扩展并接受第一个匹配项。因为传统的 NFA 构造正则表达式的特定扩展以获得成功的匹配,所以它可以捕获子表达式匹配和匹配的反向引用。但是,因为传统的 NFA 回溯,所以它可以访问完全相同的状态多次(如果通过不同的路径到达该状态)。因此,在最坏情况下,它的执行速度可能非常慢。因为传统的 NFA 接受它找到的第一个匹配,所以它还可能会导致其他(可能更长)匹配未被发现。

    2022-04-01 12:19:47
    赞同 展开评论
问答地址: