标签: automata
与该标签相关的所有文章 "automata".
-
Go 基础:正则表达式、自动机与 regexp 的线性时间保证
正则表达式的核心分歧在引擎实现:backtracking 引擎(PCRE/Java/Python/JS)用递归回溯,最坏指数时间,存在 ReDoS 风险;automata-based 引擎(RE2/Go regexp)用 NFA/DFA 模拟,保证线性时间,但牺牲了 backreference 和 lookaround。Go 的 regexp 包基于 RE2,选择了安全和可预测性,代价是表达力略弱。理解引擎原理比记语法重要得多。