正则表达式
3.1.1 语言的运算
设 L 和 M 是两个语言, 那么
对于空语言 ∅
3.1.3 运算符的优先级
- 首先, “括号”优先级最高;
- 其次, “星”运算: r∗;
- 然后, “连接”运算: rs, r·s;
- 最后, “加”最低: r+s, r∪s;
3.2 有穷自动机和正则表达式
3.2.1 由 DFA到正则表达式, 递归表达式法
3.2.2 由 DFA 到正则表达式, 状态消除法
从有穷自动机中删除状态, 并使用新的路径替换被删除的路径, 在新路径上设计新的正则 表达式, 产生一个等价的“自动机”.
3.2.3 由正则表达式到 ε-NFA
任何正则表达式 r, 都存在等价的 ε-NFA A, 即 L(A) = L®, 并且 A 满足:
- 仅有一个接收状态;
- 没有进入开始状态的边;
- 没有离开接受状态的边.
3.3 正则表达式的代数定律
3.3.1 基本的代数定律
定义
含有变量的两个正则表达式, 如果以任意语言替换其变量, 二者所表示的语言仍然相同, 则称这两个正则表达式等价. 在这样的意义下, 正则表达式满足一些代数定律.
3.3.2 发现与验证代数定律