【问题标题】:Are regular expressions (1+ U 0*)* and (1 U 0)* different? if different, then what is the difference?正则表达式 (1+ U 0*)* 和 (1 U 0)* 不同吗?如果不同,那么有什么区别?
【发布时间】:2014-09-12 06:28:25
【问题描述】:

我是正则表达式领域的新手。需要了解两个正则表达式 (1+ U 0*)* 和 (1 U 0)* 之间的区别,因为两者的字母表都是 (1,0)

【问题讨论】:

  • 那是什么正则表达式语法?此外,您还应该在问题正文中包含正则表达式。
  • 那些看起来像数学正则表达式,而不是编程正则表达式。 math.stackexchange.com 可能会更好。
  • 感谢 Barmar 的评论,然后我会将问题移至该论坛。
  • @NishantKumar 交叉发帖通常不受欢迎。我建议您在重新发布到 math.se 之前将您的问题标记为迁移或删除此问题。
  • + 我猜只适用于帖子

标签: regex regular-language


【解决方案1】:

(1 U 0)* 也可以读作(1 union 0) or (1+0) in formal languages theory(1|0)* as a regular expression 意思是1 or 0 epsilon times

(1+ U 0*)* 没有意义,但想法是(1|0)*

如果您需要star 和加号之间的区别,它解释了* 在其集合中也有{E},它是与1 不同的空集+

【讨论】:

  • 我认为 (1+ U 0*)* 就像正则表达式 (1+|0*)* 并且我认为它与 (1|0)* 匹配相同的常规语法
  • 没错,这就是重点,但在这种情况下,+ 并不意味着regex +,它实际上意味着regex | 。但在形式语言理论中,这实际上意味着 (1 or or (0 epsilon times))epsilon timesregex (1 | | 0*)* 这又没有意义
  • 哦,我明白你的意思了。那么谁知道 OP 的工作来源是什么。
  • 澄清一下,后面的 + 是上标 1 (1^+)。我不太清楚我在这里如何用上标写 +。
  • 我更新了我的帖子。你必须做 1+ 我不知道在 cmets 工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2016-01-03
  • 2019-09-04
  • 1970-01-01
  • 2012-12-16
  • 2015-06-12
相关资源
最近更新 更多