Как сопоставить четное число 1 и любое количество 0

У меня проблемы с этой проблемой регулярного выражения.

язык {1,0}.

Мне нужны строки с четным числом 1 и любым количеством 0.

пример строки включают в себя:

110
101
11
0
empty set 
1111
10101010101

1 ответов


^(0*10*1)*0*$ или ^(?:0*10*1)*0*$ если не захватывающие группы поддерживаются движком регулярных выражений.

Он также может быть дополнительно "упрощен" до ^((0*1){2})*0*$, все, что вы найдете более читаемым.

Это 1s парами и колодки с любым количеством нулей по мере необходимости. Он не совпадает если число 1s странно. Он совпадает с пустой строкой.

Он не использует ничего необычного, поэтому он должен работать на большинстве языков программирования.

посмотреть в действие на regex101.