一、正则表达式的递归定义: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
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!