正则表达式:Kleene明星有分配属性吗?

时间:2013-03-07 07:13:48

标签: regex kleene-star

(aa)*(a*a*)之间会有区别吗?

有分配财产吗?

3 个答案:

答案 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的偶数,而第二个措辞不会在这种情况下。