(aa)*
和之间会有区别(a*a*)
吗?
有分配属性吗?
Kleene 星不分布。(ab)*
与 有很大不同(a*b*)
。
在您的具体示例中,(aa)*
将匹配两个a
s 的组(因此,它仅匹配偶数个a
s),而(a*a*)
等效于(a*)
并匹配任何a
s 序列。(在这种情况下,L((aa)*)
是 的真子集L((a*a*))
,但对于一般的正则表达式不一定如此)。
该(aa)*
组与整体不匹配,aaa
所以是的,有区别,它只返回一组 2 a
。
但(a*a*)
只是一样(a*)
。
是,有一点不同。(aa)* 将是 aa 的组,而 (a*a*) 将是 a's。
基本上,第一个短语只会是 a 的偶数,而在这种情况下,第二个不会。