快速提问,
如果a
是正则表达式,那么a* = (a*)*
是否正确?
(a*)*
是一个有效的表达式吗?如果是,那么任何人都可以解释为什么它与a*
相同?我在这里问道歉,但我找不到谷歌的任何内容。
答案 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*)*)
是一样的。