What is the regular expression for all bit strings with even number of 0's?

3.6k Views Asked by At

What is the regular expression for all bit strings with even number of 0's?

Would it be: 0*(1*01*0)*

And if so can you explain why, any help would be appreciated.

1

There are 1 best solutions below

3
On BEST ANSWER

As noted in the comments, the regular expression you posted is not valid.

Assuming that strings are comprised of $\{0,1\}$, one possible regular expression would be $1^*(01^*01^*)^*$. This expression matches any number of leading $1$s, followed by any number of pairs of $0$s, where each pair can be interlaced with any number of $1$s.

This visualization may help:

$$\underbrace{11111111}_{\text{1*}}\underbrace{0110111}_{\text{01*01*}}\underbrace{01111110}_{\text{01*01*}}\underbrace{0011111111}_{\text{01*01*}}$$

See this equivalent question on StackOverflow.