正規表示式
\(L=\{a\{a,b\}*\{\epsilon\}^*(\epsilon | (.|_)(a|b)(a|b*))\)
正規表示式可以由較小的正規表示式按照特定規則遞迴地構建. 每個正規表示式 $ r $ 定義(表示)一個語言,記為 \(L(r)\) . 這個語言也是根據 \(r\) 的子表示式所表示的語言遞迴定義的.
- \(\epsilon\) 是一個 \(RE\) , \(L(\epsilon) =\{\epsilon\}\)
- \(r|s\) : \(L(r|s) =L(r) \cup L(s)\)
- \(rs\) : \(L(rs) =L(r)L(s)\)
- \(r^*: L(r^*)==L(r)^*\)
- $(r) : L((r))=L(r) $
正則定義
正則定義是具有如下形式的定義序列:
\[d_1 \rightarrow r_1\\
d_2 \rightarrow r_2\\
d_3 \rightarrow r_3\\
...\\
d_n \rightarrow r_n
\]
1.每一個 \(d_i\) 都是一個新符號,它們都不在字母表 \(\sum\) 中,而且各不相同
2.每個 \(r_i\) 是字母表 \(\sum \cup \{d_1,d_2,d_3,...,d_{i-1}\}\) 上的正規表示式