正则表达式与自动机c语言,正则表达式与有穷自动机

一、正则表达式的递归定义:R是正则表达式当且仅当R是一下六种之一:

1、字母表中的单个字符;

2、epsilon;

3、∅;

4、R1∪R2(其中R1和R2都是正则表达式,下同);

5、R1R2;

6、R1*

二、优先级:星号>连接>并

三、几个恒等式:R∪∅=R;R∪epsilon=R∪{epsilon};R∅=∅;∅*={epsilon};

四、正则表达式与自动机的等价性。以此可以来证明一个语言是正则的当且仅当可用正则表达式描述。证明分两个方向:1、正则表达式描述正则语言。证明思路: 把正则表达式转化成等价的NFA,对正则表达式的六种形式分别构造。2、正则语言可用正则表达式描述。证明思路:给定DFA或NFA,构造等价正则表达式(可以通过定义广义非确定型有穷自动机GNFA,由其转化为正则表达式)

五、用泵引理证明非正则语言,通常采用反证法。

泵引理: 设A是正则语言,则存在常数p(称为泵长度),使得若s∈A且|s|≥p,则s=xyz,并且满足下述条件: 1) 对任意i≥0,xy^iz∈A; 2) |y|>0; 3) |xy|≤p.

总结

以上是编程之家为你收集整理的正则表达式与有穷自动机全部内容,希望文章能够帮你解决正则表达式与有穷自动机所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值