Я разделил это на 4 регулярных выражения, чтобы легче было понять:
1.
^(?:(?:10)+1|(?:01)+0)+$
Это соответствует одному или нескольким из '01
' или '10
', затем следуетпротивоположный символ, повторяется один или несколько раз.
2.
[01]{4,}$
Это просто проверяет, что число заканчивается четырьмя двоичными цифрами.
3.
[01]*0{2,}$
Это гарантирует, что число оканчивается двумя нулями.
4.
^(01|10|0011|0101|0110|1001|1010|1100)$
Это просто OR
различные возможности.Так как должны быть равны нули и «1», в номере может быть только 2 или 4 цифры.
Если вам нужно все это в одном регулярном выражении, вы можете OR
все вместе.