【问题标题】:Regular expression: does Kleene star have a distributive property?正则表达式:Kleene 星是否具有可分配性?
【发布时间】:2013-10-23 04:58:11
【问题描述】:

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

有分配属性吗?

【问题讨论】:

    标签: regex kleene-star


    【解决方案1】:

    Kleene 星不分发。 (ab)*(a*b*) 非常不同。

    在您的具体示例中,(aa)* 将匹配两个 as 的组(因此,它只匹配偶数个 as),而 (a*a*) 等效于 (a*) 并匹配任意序列as。 (在这种情况下,L((aa)*)L((a*a*)) 的真子集,但对于一般的正则表达式不一定如此)。

    【讨论】:

      【解决方案2】:

      (aa)* 组与整个 aaa 不匹配,所以是的,有区别,它只返回一组 2 个a

      但是(a*a*)(a*) 是一样的。

      【讨论】:

        【解决方案3】:

        是的,有区别。 (aa)* 将是 aa 的组,而 (a*a*) 将是 a's。

        基本上,第一个短语只能是 a 的偶数,而在这种情况下,第二个则不是。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-16
          • 2014-11-30
          • 2011-02-23
          • 1970-01-01
          • 2021-08-30
          • 2017-04-20
          • 2013-08-01
          • 1970-01-01
          相关资源
          最近更新 更多