RegEx для сопоставления двоичного числа с четным числом 0 - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над созданием регулярного выражения для сопоставления двоичных файлов с четным числом нулей.

Например, оно должно соответствовать числам вроде:

001
1010
100100

Но это не должно ' t match:

0010
10001
00101

Это то, что я имею до сих пор:

(([0]{1})+)

Я буду очень признателен за любую помощь в этом.

1 Ответ

1 голос
/ 27 марта 2020

Хотя это не самый лучший способ, вы можете использовать для этого регулярное выражение, ища пары 0 в строке и утверждая, что в строке нет других символов 0, кроме этих пар (поэтому быть четным числом 0):

^(?:[^0]*0[^0]*0)+[^0]*$

const strs = [
  '1010',
  '100100',
  '0010',
  '10001',
  '00101',
  '001',
  '1001',
  '100',
  '101'
]

strs.map(s => console.log(s + ': ' + /^(?:[^0]*0[^0]*0)+[^0]*$/.test(s)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...