正则表达式

正则表达式

\(L=\{a\{a,b\}*\{\epsilon\}^*(\epsilon | (.|_)(a|b)(a|b*))\)

正则表达式可以由较小的正则表达式按照特定规则递归地构建. 每个正则表达式 $ r $ 定义(表示)一个语言,记为 \(L(r)\) . 这个语言也是根据 \(r\) 的子表达式所表示的语言递归定义的.


  • \(\epsilon\) 是一个 \(RE\) , \(L(\epsilon) =\{\epsilon\}\)
  • \(r|s\) : \(L(r|s) =L(r) \cup L(s)\)
  • \(rs\) : \(L(rs) =L(r)L(s)\)
  • \(r^*: L(r^*)==L(r)^*\)
  • $(r) : L((r))=L(r) $

正则定义

正则定义是具有如下形式的定义序列:

\[d_1 \rightarrow r_1 \]

\[d_2 \rightarrow r_2 \]

\[d_3 \rightarrow r_3 \]

\[... \]

\[d_n \rightarrow r_n \]

1.每一个 \(d_i\) 都是一个新符号,它们都不在字母表 \(\sum\) 中,而且各不相同

2.每个 \(r_i\) 是字母表 \(\sum \cup \{d_1,d_2,d_3,...,d_{i-1}\}\) 上的正则表达式

posted @ 2024-10-30 17:23  -风间琉璃-  阅读(19)  评论(0)    收藏  举报