从正则表达式到有穷自动机

一般实现的是从正则表达式到DFA的转换

而从正则表达式直接转换成DFA是比较困难的,所以一般先转换成NFA(NFA更直观一些)。

根据RE构造NFA

ϵ\epsilon对应的NFA

从正则表达式到有穷自动机

字母表\sum中符号α\alpha对应的NFA

从正则表达式到有穷自动机

r=r1r2r=r_1r_2对应的NFA

从正则表达式到有穷自动机

r=r1r2r=r_1|r_2对应的NFA

从正则表达式到有穷自动机

r=(r1)r=(r_1)^*对应的NFA

从正则表达式到有穷自动机

例:r=(ab)abbr=(a|b)^*abb对应的NFA

从正则表达式到有穷自动机