在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, . . . }.

更新于:2021年6月15日

19K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告