做网站设像素,平面设计素材免费下载,勐海县住房和城乡建设局网站,如何生成网站的二维码空正则表达式转NFA单字符正则表达式转NFA拼接正则表达式转NFA选择正则表达式转NFA重复正则表达式转NFA
正则表达式转NFA–实战部分
空正则表达式转NFA
转换步骤#xff1a;
构建1个只有1个状态的NFA起始状态也是接受状态没有规则#xff0c;即规则集为空 单字符正则表达式…空正则表达式转NFA单字符正则表达式转NFA拼接正则表达式转NFA选择正则表达式转NFA重复正则表达式转NFA
正则表达式转NFA–实战部分
空正则表达式转NFA
转换步骤
构建1个只有1个状态的NFA起始状态也是接受状态没有规则即规则集为空 单字符正则表达式转NFA
转换步骤
构建1个有2个状态的NFA第一个状态为起始状态第二个状态为接受状态规则集只有1条规则当 NFA 处于起始状态且当前读到的字符等于该正则表达式中的字符时它会转换到接受状态。 拼接正则表达式转NFA
转换步骤构建一个新的 NFA
新NFA的起始状态为第一个NFA的起始状态新NFA的接受状态集为第二个NFA的接受状态集相同新NFA的规则集包含第一个NFA的所有规则以及第二个NFA的所有规则的并集添加自由移动规则将第一个 NFA 的每一个旧接受状态连接到第二个 NFA 的旧起始状态
请注意 隐含的改变 在连接后第一个 NFA 原来的接受状态在新构建的 NFA 中不再是最终的接受状态无新增状态有新增规则 选择正则表达式转NFA
转换步骤构建一个新的NFA
新 NFA 的起始状态为一个新建的起始状态新 NFA 的接受状态包含两个NFA的接受状态的并集新 NFA 的规则包含两个NFA的规则的并集新增两条额外的自由移动规则将新的起始状态连接到两个NFA的旧起始状态
请注意 有新增状态有新增规则 重复正则表达式转NFA
转换步骤构建一个新的NFA
新NFA的起始状态为一个新建的状态同时也是一个接受状态。新NFA的接受状态包含旧NFA的接受状态新NFA的规则包含旧NFA的规则添加一些额外的自由移动规则将每个旧NFA的接受状态连接到它的旧起始状态添加一条自由移动规则将新的起始状态连接到旧起始状态
请注意 有新增状态有新增规则 示例
(a|b)*a(a|b)