【发布时间】:2024-01-18 19:42:01
【问题描述】:
我试图理解下面定义的正则表达式 α 和 β 之间的等价性,但我因信息冲突而失去理智。
a+b: a or b
ab: concatenation of a and b
$: empty string
α = (1*+0)+(1*+0)(0+1)*($+0+1)
β = (1*+0)(0+1)*($+0+1)
https://ivanzuzak.info/noam/webapps/regex_simplifier/ 说,α 等价于 β。
然而,我的学校教导说连接比联合具有更强的约束力,这意味着:
11*+0 =/= 1(1*+0)
这意味着我的 α 看起来像这样带括号:
α = (1*+0) + ( (1*+0)(0+1)*($+0+1) )
还有那个
α =/= ( (1*+0) + (1*+0) ) (0+1)*($+0+1)
我希望很清楚我的问题是什么,我会很感激任何帮助。谢谢。
【问题讨论】:
标签: regex computer-science finite-automata computation-theory