
- 自動機理論教程
- 自動機理論 - 首頁
- 自動機理論 - 入門
- 自動機理論 - 歷史
- 自動機理論 - 應用
- 自動機理論術語
- 自動機中字串的基礎知識
- 自動機的集合論
- 語言和文法
- 計算理論中的文法
- 由文法生成的語言
- 喬姆斯基文法分類
- 有限自動機
- 確定性有限自動機 (DFA)
- 非確定性有限自動機 (NFA)
- 從 NFA 到 DFA 的轉換
- DFA 的最小化
- 穆爾機與米利機
- DFA 的補集
- 正則表示式
- 自動機中的正則表示式
- 自動機中的 Arden 定理
- 將正則表示式轉換為有限自動機
- 正則文法的泵引理
- 計算理論中的正則集
- 上下文無關文法
- 上下文無關文法 (CFG)
- 上下文無關文法中的二義性
- 上下文無關語言的封閉性
- 簡化上下文無關文法
- 喬姆斯基正規化 (CNF)
- 格雷巴赫正規化 (GNF)
- 上下文無關文法的泵引理
- 下推自動機
- 下推自動機 (PDA)
- 下推自動機的接受
- 從 CFG 構造 PDA
- 下推自動機和語法分析
- 圖靈機
- 圖靈機 (TM) 基礎
- 圖靈機接受的語言
- 多磁帶圖靈機
- 多軌跡圖靈機
- 非確定性圖靈機
- 半無限帶圖靈機
- 線性界自動機 (LBA)
- 可計算性和不可判定性
- 圖靈語言的可判定性
- 不可判定語言
- 圖靈機停機問題
- 計算理論中的 Rice 定理
- Post 對應問題 (PCP)
- 自動機理論資源
- 自動機理論 - 快速指南
- 自動機理論 - 資源
- 自動機理論 - 討論
正則表示式
正則表示式可以遞迴地定義如下:
ε 是一個正則表示式,表示包含空字串的語言。(L (ε) = {ε})
φ 是一個正則表示式,表示空語言。(L (φ) = { })
x 是一個正則表示式,其中 L = {x}
如果X是一個表示語言L(X)的正則表示式,並且Y是一個表示語言L(Y)的正則表示式,則
X + Y 是一個對應於語言L(X) ∪ L(Y)的正則表示式,其中L(X+Y) = L(X) ∪ L(Y)。
X . Y 是一個對應於語言L(X) . L(Y)的正則表示式,其中L(X.Y) = L(X) . L(Y)
R* 是一個對應於語言L(R*)的正則表示式,其中L(R*) = (L(R))*
如果我們從 1 到 5 多次應用任何規則,它們都是正則表示式。
一些正則表示式示例
正則表示式 | 正則集 |
---|---|
(0 + 10*) | L = { 0, 1, 10, 100, 1000, 10000, … } |
(0*10*) | L = {1, 01, 10, 010, 0010, …} |
(0 + ε)(1 + ε) | L = {ε, 0, 1, 01} |
(a+b)* | 任意長度的 a 和 b 字串的集合,包括空字串。所以 L = { ε, a, b, aa , ab , bb , ba, aaa…….} |
(a+b)*abb | 以字串 abb 結尾的 a 和 b 字串的集合。所以 L = {abb, aabb, babb, aaabb, ababb, …………..} |
(11)* | 包含偶數個 1 的字串集合,包括空字串,所以 L= {ε, 11, 1111, 111111, ……….} |
(aa)*(bb)*b | 由偶數個 a 後跟奇數個 b 組成的字串集合,所以 L = {b, aab, aabbb, aabbbbb, aaaab, aaaabbb, …………..} |
(aa + ab + ba + bb)* | 偶數長度的 a 和 b 字串可以透過連線 aa、ab、ba 和 bb 的任意組合(包括空字串)獲得,所以 L = {aa, ab, ba, bb, aaab, aaba, …………..} |
廣告