291 字
1 分钟
正则语言
正则语言
对于自动机 ,我们定义它接受的语言为 , 称为正则语言。
正则表达式
符号
ε 表示空串(不包含任何字符)。
∅ 表示空语言(不含任何字符串)。
对任意 a∈Σ,a 表示只包含一个字符 a 的字符串。
计算
复合运算(假设 R, S 是正则表达式)
-
并(Union):R+S 表示 L(R) ∪ L(S)。
-
连接(Concatenation):RS 表示 { xy | x∈L(R), y∈L(S) }。
-
闭包(Kleene Star):R* 表示 { ε, R, RR, RRR, … }(零次或多次重复)。
闭包性质如下:
- ,其中 R^+ 表示 R 的正闭包,即至少重复一次。
注意:不同教材可能使用不同的符号,如 | 表示并,· 或省略表示连接,* 表示闭包。
计算优先级(从高到低)
-
括号 ( )
-
闭包 *(以及 +、?)
-
连接(隐含,如 ab 表示 a 后跟 b)
-
并 +
有穷自动机 -> 正则表达式
关系:
- 正则表达式与有穷自动机等价
- 有穷自动机可以识别正则语言
- 正则表达式生成正则语言