【问题标题】:simplify regex, [star] mysteriously disappears简化正则表达式,[star] 神秘消失
【发布时间】:2013-02-08 15:30:20
【问题描述】:

! 问题 这是我的讲义;“证明 a*(b+ab*)=b+aab
我无法理解第 3 行-> 第 4 行发生的事情;
我的理解 这两行发生了两件事;

  1. ab* 去掉术语ab* 和术语aa*b,结果(Λ+aa*);
  2. 最后一个词 aa*ab* 简化为 aa*b* 因为中间的 a 是多余的;

问题是aa*b(*) 处的 * 发生了什么?

【问题讨论】:

  • 什么是胡萝卜?那是标准的正则表达式胡萝卜吗?如果是这样,/a*/ == /^ +aa*/ == /^\s+aa*/ 怎么样?我很困惑>.
  • @close 投票。不妨关闭所有 reg 表达式问题,例如 these1 these2
  • 这样的 CS 问题可能有更好的网站。
  • @kikuchiyo 我认为它的Λ,其中a*可以是Λ或aa*,因为aa*必须至少有1个a。
  • @Barmar 然后我建议关闭所有与编程没有直接关系的标签。由于这些理论中没有代码。

标签: regex computer-science regular-language computation-theory


【解决方案1】:

您的教授似乎遗漏了第 3⅓ 和 3⅔ 行:

第 3 行:b + ab* + aa*b + aa*ab* 第 3⅓ 行:b + ab* + aa*ab* + aa*b ← 通勤最后两个学期 第 3 行⅔:b + Λab* + aa*ab* + aa*b ← ab* = Λab* 第 4 行: b + (Λ + aa*)ab* + aa*b ← 分配性质

【讨论】:

  • +1 即使没有 CS 知识,您也可以将 Λ 替换为 1 并在此处应用基本代数。 ;)
猜你喜欢
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 2011-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多