For zeros, allow for any number of pars of zeros with any number of leading non-zeros and separating non-zeros. And then allow for any trailing non-zeros. If the string does not match this pattern, it has an odd number of zeros.
(1*01*0)*1*
And to do it for zeros or ones, just copy with 1
s instead and add it as an alternative to the whole thing.
(1*01*0)*1*|(0*10*1)*0*
Also, 111
and 000
both correctly satisfy the condition, because 111
has an even number of 0
s and 000
has an even number of 1
s. Examples that shouldn't work would be 1101
or 011100
.