- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? 正则表达式 Regular Expression (1) 正则表达式的引入正则表达式、正规表达式、正规式 Regular Expression、RE描述词法规则 (2) 正则表达式和正则集的定义设字母表为 Σ辅助字母表 Σ’={ Φ ε | · * ( ) }正则表达式正则集ε{ε}Φ { }a∈Σ {a} (1)(2)定义…(3) 假定 r 和 s 都是Σ上的正则表达式, 他们所表示的正则集分别为 L(r) 和 L(s)正则表达式正则集或r|s L(r)∪L(s) 连接积r·sL(r)·L(s)闭包(r)* (L(r))* ( )(r)L(r)定义…(4)仅由有限次使用上述三步骤而定义的表达式才是Σ上的正则表达式,仅由这些正则表达式表示的字集才是Σ上的正则集 规定算符的优先顺序( ) * · |例: 令∑={a,b}, ∑上的正则表达式和相应的正则集正则集{a}{b}{a, b}{ab} {aa, ab, ba, bb} {ε, a, aa, aaa, …}{ε, a, b, aa, ab …所有由a或b组成的串}正则表达式 a b a|b ab (a|b)(a|b)a* (a|b)*例: ∑={a,b}ba* Σ上所有以b为首,后面跟任意多个a的符号串a(a|b)* Σ上所有以a为首的符号串(a|b)*(aa|bb)(a|b)* Σ上所有含有两个相继a或两个相继b的符号串例: ∑={A,B,0,1}(A|B)(A|B|0|1)* {A,B}{A,B,0,1}* ∑上 ‘标识符’的全体(0|1)(0|1)* {0,1}{0,1}* ∑上 ‘数’的全体例: ∑={0,…,9,a,…z,A,…Z}正则表达式 d = 0|1|…|9正则表达式 l = a|…|z|A|…|Z整数的集合:dd* (dd* = d+)标识符的集合: l(l|d)*(3) 两个正则表达式等价的定义若两个正则表达式r和s表示的正则集相同,则说r和s等价,写作r=salb = b|a b(ab)* = (ba)* b (a|b)* = (a* |b* )* (4) 正则表达式服从的代数规律⑥ r|r=r (r*)* = r* r*=ε|r|rr|…∑* = ∑0 ?∑1 ?∑2 … ? ∑n ? …r,s,t为正则表达式① r|s=s|r② r|(s|t)=(r|s)| t ③ (rs)t=r(st) ④ r(s|t)=rs|rt (s|t)r=sr|tr⑤ εr=rε=r附加习题: r,s是正则表达式, 证明 (rs)*r = r(sr)* 例:定义无符号数的正则表达式Σ = { d . e + - } d为0~9的数字, ‘.’表示小数点 d* (.dd*|ε) (e(+|-|ε)dd* |ε)? 课堂练习?={a,b},写出描述以下集合的正则表达式不以a开头, 但以aa结尾的字符串集合以a开头, 并且以aa结尾的字符串集合L={ a2n+1b2ma2p+1 | n≥0, m≥1, p≥0}4.2.2 正则表达式 Regular Expression (1) 正则表达式的引入(2) 正则表达式和正则集的定义(3) 两个正则表达式等价的定义(4) 正则表达式服从的代数规律(5) 正则定义(6) 正则表达式的扩展
文档评论(0)