基本介紹
- 中文名:Kleene星號
- 外文名:Kleensche Hülle
- 或稱: Kleene 閉包
- 用於:正則表達式
定義及標記方法,推廣,例子,參考文獻,
定義及標記方法
給定集合V 設:
- V0 = {ε} 即只包含空串
- V1 = V
遞歸的定義集合Vi+1 ,這裡的 

- Vi+1 = { wv: w ∈ Vi and v ∈ V } .
所以在
上的 Kleene 星號的定義是


就是說,它是由
中的符號生成的所有可能的有限長度的字元串所構成的集合。

推廣
(封閉性) 

(結合律) 

(單位元) 

如果
是
的子集,則
被定義為包含
(空字元串) 並閉合於這個運算下的
的最小超集。接著
自身是么半群,並被稱為
生成的自由么半群。這是上面討論的 Kleene 星號的推廣,因為在某個符號的集合上所有字元串的集合形成了一個么半群(帶有字元串串接作為二元運算)。







例子
Kleene 星號套用於字元串集合的例子:
- {"ab", "c"}* = {ε, "ab", "c", "abab", "abc", "cab", "cc", "ababab", "ababc", "abcab", "abcc", "cabab", "cabc", "ccab", "ccc", ...}
Kleene 星號套用於字元集合的例子:
- {'a', 'b', 'c'}* = {ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", ...}
參考文獻
Kleene 星號的定義基本上可從任何一本自動機理論的參考書中找到。以下是其中一本標準的參考書:
- John Hopcroft | John E. Hopcroft and Jeffrey D. Ullman. Introduction to Automata Theory Languages and Computation. 1st edition. Addison-Wesley Publishing Company, 1979.