我因为信息冲突而失去了理智 .
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)
我希望我的问题很清楚,我会感激任何帮助 . 谢谢 .
2 回答
通常,当两个正则表达式匹配同一组单词时,它们被认为是等效的 .
它们如何匹配它是不相关的 . 因此,哪个运营商具有更高的优先级并不重要 .
注意相等(书面形式)和等效(具有相同效果)之间的细微差别 .
好吧,事实证明我误解了为什么b b <=> b .
如果L1是L2的子集,那就是L1∪L2<=> L2 .