Для нулей допускается любое количество пар нулей с любым количеством ведущих ненулевых и разделяющих ненулевых. И затем разрешить любые конечные ненули. Если строка не соответствует этому шаблону, она имеет нечетное число нулей.
(1*01*0)*1*
И чтобы сделать это для нулей или единиц, просто скопируйте вместо него 1
s и добавьте его как альтернативу всему.
(1*01*0)*1*|(0*10*1)*0*
Кроме того, 111
и 000
оба правильно удовлетворяют условию, поскольку 111
имеет четное число 0
с, а 000
имеет четное число 1
с. Примеры, которые не должны работать, будут 1101
или 011100
.