正则表达式
# 正则表达式
课件
# 正则表达式的定义
- 正则表达式(Regular Expression,RE )是一种用来描述正则语言的更紧凑的表示方法
- 正则表达式可以由较小的正则表达式按照特定规则递归地构建
- 每个正则表达式
定义(表示)一个语言,记为 - 这个语言也是根据
的子表达式所表示的语言递归定义的
示例
- 可用来表示如下语言
- 这个语言也是根据
- 每个正则表达式
- 可以用
定义的语言叫做正则语言(regular language)或正则集合(regular set)
正则文法与正则表达式等价
- 对任何正则文法
,存在定义同一语言的正则表达式 - 对任何正则表达式
,存在生成同一语言的正则文法
# 正则表达式的性质
性质
是一个 , - 如果
, 则 是一个 , - 假设
和 都是 ,表示的语言分别是 和 ,则 是一个 , 是一个 , - 连接运算符
是一个 , 是一个 ,
- 运算符的优先级:
示例
例: 令
,则 例: C 语言无符号整数的
# 正则表达式的代数定律
定律 | 描述 |
---|---|
连接是可结合的 | |
连接对 | |
闭包中一定包含 | |
编辑 (opens new window)