解釋一些正則表示式的含義。
正則表示式是一種用於描述語言並被有限自動機接受的語言。正則表示式是表示任何語言的最有效方法。令 Σ 為表示輸入集的字母表。
Σ 上的正則表示式可以定義如下:
- Φ 是一個正則表示式,表示空集。
- ε 是一個正則表示式,表示集合 { ε},稱為空字串。
- 對於 Σ 中的每個 'a','a' 是一個正則表示式,表示集合 {a}。
- 如果 r 和 s 是表示語言的正則表示式。
- L1 和 l2 分別,則:
- r+s 等價於 L1 U L2 並集
- rs 等價於 L1L2 連線
- r* 等價於 L1* 閉包
r* 被稱為 Kleen 閉包或閉包,表示 r 出現無限次。
一些**正則表示式及其含義**如下:
- (a+b)*
含義:任意長度的 a 和 b 字串集,包括空字串。
- (a+b)*abb
含義:以字串 abb 結尾的 a 和 b 字串集。
- ab(a+b)*
含義:以字串 ab 開頭的 a 和 b 字串集。
- (a+b)*aa(a+b)*
含義:包含子字串 aa 的 a 和 b 字串集。
- a*b*c*
含義:由任意數量的 a 後跟任意數量的 b 後跟任意數量的 c 組成的字串集。
- aa*bb*cc*
含義:由至少一個 a 後跟至少一個 b 的字串後跟至少一個 c 的字串組成的字串集。
- (a+b)*(a+bb)
含義:以 a 或 bb 結尾的 a 和 b 字串集。
- (aa)*(bb)*b
含義:由偶數個 a 後跟奇數個 b 組成的字串集。
- (0+1)*000
含義:以三個連續的零結尾的 0 和 1 字串集。
- (11)*
含義:包含偶數個 1 的集合。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP