- 9
- 0
- 约小于1千字
- 约 8页
- 2022-04-26 发布于北京
- 举报
《理论计算机科学基础》
正则表达式
描述模式的手段
例: (01)0*
= ({0}{1}){0}*
= {0,1}{0}*
《理论计算机科学基础》
例2.25
={0,1}
(01)* = {0,1}* = *
是任意字母表
表示所有长为1的串组成的语言
* 表示所有串组成的语言
*1 表示所有以1结尾的串组成
的语言
(0*)(*1)表示所有以0开头或
以1结尾的串组成的语言
《理论计算机科学基础》
正则表达式的形式定义
定义2.26: R是正则表达式
当且仅当R是
a, a; /* 表示 {a} */
; /* 表示 {} */
; /* 表示 */
(R1R2), R1和R2都是正则表达式;
(R1R2), R1和R2都是正则表达式;
(R1*), R1是正则表达式.
L(R): R表示的语言
《理论计算机科学基础》
说明
归纳定义
用较小的表达式定义较大的表达式
省略括号
最外层
规定优先级
优先级
星号 连接 并
《理论计算机科学基础》
例2.27
设={0,1}
0*10* = { w | w恰好有一个1 }
*1* = { w | w至少有一个1 }
*001* = { w | w含有子串001 }
()* = { w | w为偶数长度 }
()* = { w | w长度为3的倍数 }
《理论计算机科学基础》
例2.27(续)
0110 = { 01, 10 }
0*0 1*1 0 1 =
{ w | w首尾符号相同 }
(0)1* = 01*1*
(0)(1) = {,0,1,01}
1* =
* = {}
《理论计算机科学基础》
几个恒等式
R = R
R = R
一般 R R, R R
R = R{}
R =
《理论计算机科学基础》
例
数值常量
{+,-,}(DD*DD*.D*D*.DD*)
D={0,1,2,3,4,5,6,7,8,9}
72
3.14159
+7.
-.01
原创力文档

文档评论(0)