正则表达式与有穷自动机

前端之家收集整理的这篇文章主要介绍了正则表达式与有穷自动机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、正则表达式的递归定义: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.

原文链接:https://www.f2er.com/regex/360683.html

猜你在找的正则表达式相关文章