是* *(a *)*?

时间:2012-12-08 16:58:59

标签: algorithm regular-language

快速提问, 如果a是正则表达式,那么a* = (a*)*是否正确?

(a*)*是一个有效的表达式吗?如果是,那么任何人都可以解释为什么它与a*相同?我在这里问道歉,但我找不到谷歌的任何内容。

1 个答案:

答案 0 :(得分:7)

a*=(a*)*相同。两者都生成相同的语言,包括null的任何数字。

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

(a*)*是一个有效的表达式吗?

  

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

为什么一样?

  

*表示重复任意数量的时间(包括0次)。

     

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

     

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

因为L(a*)表示所有字符串都使用组成。它的每一组的晚餐组合都是由一串的。和L((a*)*)是一样的。