首页 文章

正则表达式简化问题

提问于
浏览
0

我因为信息冲突而失去了理智 .

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 回答

  • 1

    通常,当两个正则表达式匹配同一组单词时,它们被认为是等效的 .

    它们如何匹配它是不相关的 . 因此,哪个运营商具有更高的优先级并不重要 .

    注意相等(书面形式)和等效(具有相同效果)之间的细微差别 .

  • 0

    好吧,事实证明我误解了为什么b b <=> b .

    如果L1是L2的子集,那就是L1∪L2<=> L2 .

相关问题