正規式

正規式

正規式是一種表示正規集的工具,正規式是描述程式語言單詞的表達式,對於字母表∑。

基本介紹

  • 中文名:正規式
  • 釋義:一種表示正規集的工具
  • r|s是正規式:表示集合L(r)∪L(s);
  • r·s是正規式:,表示集合L(r)L(s);
簡介,例如,

簡介

其上的正規式及其表示的正規集可以遞歸定義如下。
① ε是一個正規式,它表示集合L(ε)={ε}。
② 若a是∑上的字元,則a是一個正規式,它所表示的正規集L(a)={a}。
③ 若正規式r和s分別表示正規集L(r)、L(s),則
(a)r|s是正規式,表示集合L(r)∪L(s);
(b)r·s是正規式,表示集合L(r)L(s);
(c)r*是正規式,表示集合(L(r))*;
(d)(r)是正規式,表示集合L(r)。
僅由有限次地使用上述三個步驟定義的表達式才是∑上的正規式。
運算符“|”、“·”、“*”分別稱為“或”、“連線”和“閉包”。在正規式的書寫中,連線運算符“·”可省略。運算符的優先權從高到低順序排列為:“*”、“·”、“|”。
運算符“|”表示“或”、並集。“*”表示*之前括弧里的內容出現0次或多次。
若兩個正規式表示的正規集相同,則認為二者等價。兩個等價的正規集U和V記作U=V。

例如

b(ab)*=(ba)*b,(a|b)*=(a*b*)*
需要注意的是,編譯原理裡面的正規式叫做範式,和正則表達式不是一個概念,但是有相通之處:都是通過一定的語法規則來描述文法,也就是所謂的匹配。

相關詞條

熱門詞條

聯絡我們