(aa)*
和(a*a*)
之间会有区别吗?
有分配财产吗?
答案 0 :(得分:5)
Kleene明星不分发。 (ab)*
与(a*b*)
非常不同。
在您的具体示例中,(aa)*
会匹配两个a
的组(因此,它只匹配偶数a
个),而(a*a*)
相当于(a*)
并匹配a
s的任何序列。 (在这种情况下,L((aa)*)
是L((a*a*))
的正确子集,但对于一般正则表达式,这不一定正确。)
答案 1 :(得分:1)
(aa)*
组与整个aaa
不匹配,所以是的,有区别,它只返回一组2 a
。
但(a*a*)
与(a*)
相同。
答案 2 :(得分:0)
是的,有区别。 (aa)*将是aa的组,而(a * a *)将是a。
基本上,第一个措辞只是a的偶数,而第二个措辞不会在这种情况下。