为什么我可以将正则表达式 1*0 + 1*0(0+1)*(0+1) 转换为 1*0(0+1)*?

Why can I transform the regular expression 1*0 + 1*0(0+1)*(0+1) to 1*0(0+1)*?

我不太明白,为什么我可以将正则表达式 1*0 + 1*0(0+1)*(0+1) 转换为 1*0(0+1)*。有人能帮帮我吗?

你可以使用分配定律:

  (1*0)+(1*0(0+1)*(0+1))
= (1*0ε)+(1*0(0+1)*(0+1))
= (1*0)(ε+(0+1)*(0+1))

然后应用Kleene星的定义a* = ε+a*a:

= (1*0)((0+1)*)
= 1*0(0+1)*