解釋一些正則表示式的含義。


正則表示式是一種用於描述語言並被有限自動機接受的語言。正則表示式是表示任何語言的最有效方法。令 Σ 為表示輸入集的字母表。

Σ 上的正則表示式可以定義如下:

  • Φ 是一個正則表示式,表示空集。
  • ε 是一個正則表示式,表示集合 { ε},稱為空字串。
  • 對於 Σ 中的每個 '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 的集合。

更新於:2021年6月12日

766 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.