3

快速提问,如果a是正则表达式,那是真的a* = (a*)*吗?

(a*)*有效的表达吗?如果是,那么任何人都可以解释为什么它与 相同a*?我很抱歉在这里问,但我无法通过谷歌找到任何东西。

4

1 回答 1

7

的,a*=(a*)* 都是一样的。两者都生成相同的语言,即字符串任何数字 a 包括null.

L(a*) = {^, a, aa, aa...... } = L ((a*)*)

(a*)*有效的表达吗?

是的,这个表达式被称为REGULAR-EXPRESSION(我看到你错过了标签)。任何正则语言(RL)都可以用正则表达式(RE)来表示。表示 RL 的一种按字母顺序排列的方式。

为什么是一样的?

* 表示重复任意次数(包括0次数)。

a* 表示0a、1a、2a或任意数量的a。

(a*)* 表示对集合中的所有字符串重复a*任意次数(包括 0 次)。

因为L(a*)意味着所有字符串都包含使用. 它的每个集合的超集由 a 的字符串组成。并且L((a*)*)是一样的。

于 2012-12-08T17:02:12.810 回答