在TOC中解释正则表达式。
正则表达式基本上是一种简写方式,用于表示如何从正则语言的基本集合构建正则语言。
用于构建语言的符号是相同的,任何给定的表达式都与其密切相关的语言相关联。
对于每个正则表达式E,都有一个正则语言L(E)。
示例1
如果正则表达式如下:
a + b · a*
它可以写成完全带括号的形式,如下所示:
(a + (b · (a*)))
正则表达式与语言
正则表达式的符号与语言的符号不同。这些符号如下所示:
正则表达式中的运算符:
正则表达式上有两个二元运算符(+ 和 ·)和一个一元运算符(*)。
这些与相应语言上的并集、乘积和闭包运算密切相关。
示例1
正则表达式 a + bc* 基本上是正则语言 {a} ∪ ({b} · ({c}*)) 的简写。
示例2
找到给定正则表达式的语言。解释如下:
a + bc*. L(a + bc*) = L(a) ∪ L(bc*) = L(a) ∪ (L(b) · L(c*)) = L(a) ∪ (L(b) · L(c)*) = {a} ∪ ({b} · {c}*) = {a} ∪ ({b} · {∧, c, c2, . . . , cn, . . . , }) = {a} ∪ {b, bc, bc2, . . . , bcn, . . . } = {a, b, bc, bc2, . . . , bcn, . . . }.
广告