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

时间:2015-01-28 15:27:45

标签: regex finite-automata

我无法理解,为什么我可以将正则表达式1*0 + 1*0(0+1)*(0+1)转换为1*0(0+1)*。有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你可以使用分配定律:

  (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)*