什么是等效的 0* |a* |b* |(a|b)*
what is equivalent 0* |a* |b* |(a|b)*
我一直在尝试这个练习,但我不知道如何继续下去。
等同于:
0* |a* |b* |(a|b)*
Beeing 0 无效语言,我知道 0* = ε,所以正则表达式现在是:
ε | a* |b* |(a|b)*
我知道 b* 包含在 (a|b)* 中,a* 也是,因为:
(a|b)* = (a*|b*)* = (a* b*)*
但不一样,所以现在我不知道如何简化这个正则表达式
嗯,如果 a*
和 b*
都包含在 (a|b)*
中,您只需从正则表达式中删除 a*
和 b*
(因为它是与 OR 相连)。然后你剩下 ε|(a|b)*
。 Asterix 表示任意次数的重复,因此如果 select 0 次重复 (a|b)*
,您将得到 ε
。因此,您的正则表达式相当于:
(a|b)*
我一直在尝试这个练习,但我不知道如何继续下去。 等同于:
0* |a* |b* |(a|b)*
Beeing 0 无效语言,我知道 0* = ε,所以正则表达式现在是:
ε | a* |b* |(a|b)*
我知道 b* 包含在 (a|b)* 中,a* 也是,因为:
(a|b)* = (a*|b*)* = (a* b*)*
但不一样,所以现在我不知道如何简化这个正则表达式
嗯,如果 a*
和 b*
都包含在 (a|b)*
中,您只需从正则表达式中删除 a*
和 b*
(因为它是与 OR 相连)。然后你剩下 ε|(a|b)*
。 Asterix 表示任意次数的重复,因此如果 select 0 次重复 (a|b)*
,您将得到 ε
。因此,您的正则表达式相当于:
(a|b)*