《正则表达式》PPT课件

《正则表达式》PPT课件

ID:45490858

大小:873.50 KB

页数:27页

时间:2019-11-13

《正则表达式》PPT课件_第1页
《正则表达式》PPT课件_第2页
《正则表达式》PPT课件_第3页
《正则表达式》PPT课件_第4页
《正则表达式》PPT课件_第5页
资源描述:

《《正则表达式》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.3正则表达式广东商学院信息学院胡建军正则表达式描述程序设计语言中单词的一种简单而且数学化的工具。表示符号串的构成模式正则表达式r定义了一个符号串集合rs,rs内的每个符号串都与r所定义的模式相匹配,rs称为由r生成的语言L(r)正则表达式中出现的所有符号构成的集合为该正则表达式的字母表,用S表示正则表达式主要内容:基本概念正则表达式定义及一些性质扩充的正则表达式及程序设计语言中单词的定义正则表达式的局限性。正则定义正则表达式(正规式)基本概念:字母表:非空有限集,,其元素称为符号或字母.符号串:符号的有限序列,也称为‘字’。或表示

2、空串空串集{}不同于空集。符号串长度:符号串中字符的个数.

3、

4、符号串连接:和都是符号串,则为符号串的连接特别有:==符号串集的乘积:A和B是符号串的集合,则称AB={

5、A,B}特别有:A=A=A,其中表示空集。符号串的方幂:设A是符号串的集合,则称Ai为符号串集A的方幂,其中i是非负整数。A0={}A1=A,A2=AAAK=AA......A(k个)符号串集合的正闭包:A+=A1A2A3......符号串集合的星闭包:A*=A0A1A2A3......A*=A+A0=A+{}6/2

6、92021/7/20例:设字母表={a-zA-Z},串集A={a},串集B={bcd}则A2==aaA5=aaaaaB+==B1B2B3......==(bcd)1(bcd)2(bcd)3......==(bcd)(bcdbcd)bcdbcdbcd......AB=abcd正则表达式及其一些性质为给定的字母表,则每个上的正则表达式将定义上的一个字符串集。用R表示上的正则表达式,用L(R)表示R所表示的字符串集合(正则表达式的集合,语言,正规集)。即:函数L表示正则表达式字符串集的映射。正则表达式字符串集合R定

7、义构成语言L(R)书上:RE则R的定义及其含义如下:■是正则表达式,即R。其中L()={}。■是正则表达式,即R。其中L()={}。■c是正则表达式,即cR。其中L(c)={c}。■A和B是正则表达式,即AR,BR,则有(A)R,L((A))=L(A)A

8、BR,L(A

9、B)=L(A)L(B)ABR,L(AB)=L(A)L(B)A*R,L(A*)=L(A)*9/292021/7/20扩充的正则表达式一次或多次重复:A+任何符号:“…”在字母表中任何符号.

10、.

11、.

12、.符号范围:[0-9

13、][a-z][A-Z]不在给定范围内的符号:~(a

14、b

15、c)或[^a]可选:(+

16、-)?(可有可无,即有和无两种情况)例:A+R,L(A+)=L(A)+A?R,L(A?)=L(A){}枚举[abc]R,L([abc])_=(a

17、b

18、c)[0-9a-z]=[0-9]

19、[a-z]=(0

20、1

21、2…9)

22、[a-z]10/292021/7/20优先级约定括号的优先级最高闭包运算有最高的优先级,并且是左结合的运算;连接运算的优先级次之,且也是左结合的运算;或运算的优先级最低,且仍是左结合的运算。闭包运算(*)>连接运算(·)>选择运算(

23、

24、)例:((a)(b)*)

25、(c)ab*

26、c正则表达式例={a,b}.正则表达式eab*2.a(a

27、b)*L(e)上所有以a为首后跟任意多个(包括0个)b的字符串集上所有以a为首的字符串集正则表达式的性质A

28、B=B

29、A

30、的可交换性A

31、(B

32、C)=(A

33、B)

34、C

35、的可结合性A(BC)=(AB)C连接的可结合性A(B

36、C)=AB

37、AC连接的可分配性(A

38、B)C=AC

39、BC连接的可分配性A**=A*幂的等价性Al=lA=Al是连接的恒等元素(A

40、B)*A*

41、B*(A

42、B)*(A*

43、B*)*(A·B)*A*·B*13/292021/7/20

44、正则表达式的性质A

45、B=B

46、A

47、的可交换性A

48、(B

49、C)=(A

50、B)

51、C

52、的可结合性A(BC)=(AB)C连接的可结合性A(B

53、C)=AB

54、AC连接的可分配性(A

55、B)C=AC

56、BC连接的可分配性A**=A*幂的等价性Al=lA=Al是连接的恒等元素(A

57、B)*≠A*

58、B*(A

59、B)*=(A*

60、B*)*(A·B)*≠A*·B*程序设计语言中单词的 正则表达式定义保留字如Begin=begin标识符letter=[a-z,A-Z]digit=[0-9]identifier=letter(letter

61、digit)*数字整数Int=[1-9]D

62、igit*

63、0实数real=Int.Int特殊符号+

64、-

65、…正则表达式的局限性正则表达式不能用于描述配对或嵌套的结构正则表达式不能用于描述重复串例:{wcw

66、w是a和b的串}无法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。