第四部分正则表达式教学课件.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Guohong Fu, School of Computer SciTech, HLJU 第四章 正则表达式 付国宏 黑龙江大学计算机科学技术学院 ghfu@hlju.edu.cn 引言 RG擅长语言的产生; FA擅长语言的识别; 正则表达式---正则语言的代数表示 在对正则语言的表达上具有特殊的优势; 简洁、更接近语言的集合表示和语言的计算机表示等; 为正则语言的计算机处理提供了方便条件。 提要 主要内容 RE的非形式化描述和形式定义 典型RE的构造 与RE等价FA的构造方法 与DFA等价的RE的构造 重点 RE的概念 RE与DFA的等价性 难点 RE与DFA的等价性证明 RE的非形式化描述 基本思想:用代数的方法表示正规语言 语义:作用于语言上的三种代数运算 两个语言L1和L2的并,记作L1?L2 L1?L2= ?w?w?L1或 w?L2? 设L1={001, 10}, L2={?, 001},则L1?L2 ={?, 001, 10} 两个语言L1和L2的连接,记作L1?L2 或L1L2 L1?L2 = ? w1w2 ?w1 ? L1 且 w2 ? L2? L1L2 ={001, 10}{?, 001}={001, 001001, 10, 10001} 语言L的(星或克林)闭包,记作L* L* = L0 ? L1 ? L2 ? … = ? i ?0 Li, 其中,L0 = ?? ?,L1 = L, L2 = LL, …, Li=Li-1L, … L ={0, 1},则L*表示所有的0和1的串 L={0, 11},则L*表示使1成对出现的所有的0和1的串 RE的形式定义 正则表达式(regular expression,RE) (1) ?是?上的RE,它表示语言?; (2) ?是?上的RE,它表示语言{?}; (3) 对于?a?? ,a是∑上的RE,它表示语言{a}; (4) 如果r和s分别是?上表示语言L(r)和L(s)的RE,则: r与s的“和” (r+s)是?上的RE,(r+s)表达的语言为L(r)∪L(s),即:L(r+s)=L(r) ∪ L(s); r与s的“乘积” (rs)是?上的RE,(rs)表达的语言为L(r)L(s),即:L(rs)=L(r)L(s); r的克林闭包(r*)是?上的RE,(r*)表达的语言为(L(r))*,L(r*)=(L(r))*。 (5) 只有满足(1)、(2)、(3)、(4)的才是?上的RE。 RE的形式定义 (cont.) 例 4-1 设∑={0, 1} (1) 0---表示语言{0}; (2) 1---表示语言{1}; (3) (0+1)---表示语言{0, 1}; (4) (01)---表示语言{01}; (5) ((0+1)*)---表示语言{0, 1}*; (6) ((00)((00)*))---表示语言{00}{00}*; (7) ((((0+1)*)(0+1))((0+1)*))---表示语言{0, 1}+; (8) ((((0+1)*)000)((0+1)*))---表示{0, 1}上的至少含有3个连续0的串组成的语言; (9) ((((0+1)*)0)1)---表示所有以01结尾的0、1字符串组成的语言; (10) (1(((0+1)*)0))---表示所有以1开头,并且以0结尾的0、1字符串组成的语言。 RE的形式定义 (cont.) RE运算符的优先级 闭包运算的优先级最高 乘运算“?”的优先级次之 加运算“+”的优先级最低 在意义明确时,可以省略其中某些括号 ((((0+1)*)000)((0+1)*))=(0+1)*000(0+1)* ((((0+1)*)(0+1))((0+1)*))=(0+1)*(0+1)(0+1)* RE的形式定义 (cont.) 约定 用r的正闭包r+表示r与(r*)的乘积以及(r*)与r的乘积: r+=rr*=r*r 在意义明确时,RE r表示的语言记为L(r),也可直接记为r; 加、乘、闭包运算均执行左结合规则; RE的形式定义 (cont.) 相等(equivalence) 设r、s是字母表?上的一个RE, 如果L(r)=L(s),则称r与s相等,记作r=s; 相等也称为等价。 RE的形式定义 (cont.) 幂 r是字母表∑上的RE,r的n次幂定义为 ⑴ r0=?; ⑵ rn=rn-1r,n?1 RE的形式定义 (cont.) 关于RE运算的一些基本结论 ⑴ 结合律:(rs)t=r(st), (r+s)+t=r+(s+t); ⑵ 分配律:r(s+t)=rs+rt, (s+t)r=sr+tr; ⑶ 交换律:r+s=s+r; ⑷ 幂等律:r+r=r; ⑸ 加法运算零元素

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档