【问题标题】:Regular Expressions - Kleene star正则表达式 - Kleene star
【发布时间】:2017-06-16 00:10:26
【问题描述】:

有什么区别

 (0+1)* and (0*+1*)

我是否缺少某些分发属性?

【问题讨论】:

  • 好吧,我不知道加号后面的星号是否有意义。
  • (0+1)* 表示任意数量的0s 或1s。 (0*+1*) 表示任意数量的 0s 或任意数量的 1s。例如。 111100000 被两个表达式匹配,0001110100 只是第一个。 + 在这种情况下的意思是“或”,对吧?
  • 是的,我认为你是对的

标签: lexical-analysis regular-language


【解决方案1】:

+seems to mean “or” 在这种情况下。

许多教科书使用符号 ∪、+ 或 ∨ 来代替竖线。

*(Kleene Star)的意思是“重复任意次数”。

  • (0+1)* 表示任意数量的0s 或1s。

  • (0*+1*) 表示任意数量的0s 或任意数量的1s。

例如111100000 被两个表达式匹配,0001110100 仅被第一个匹配。


这里是(0+1)*(状态 p0)和(0*+1*)(状态 q0 到 q3)的 FSM :

使用Finite State Machine Designer by Evan Wallace(非HTTPS链接)制作的FSM图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-08
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    相关资源
    最近更新 更多