Двоичные вычисления с использованием Regex в Javascript - PullRequest
0 голосов
/ 23 сентября 2018

У меня проблемы с выяснением этих вопросов.Я хочу использовать регулярные выражения в JS, чтобы сделать это.

1.Все двоичные строки нечетной длины, содержащие чередующиеся 0 и 1.

2.Все двоичные строки свыше 0 и 1, представляющие числа больше 5, когда интерпретируются как двоичные числа.

3.Все двоичные строки свыше 0 и 1, представляющие числа, которые делятся на 4 равными числами при интерпретации как двоичные числа.

4.Все двоичные строки длиной менее или равной 5, содержащие только 0 и 1, гдечисло 0 равно количеству 1.

Любая помощь очень полезна.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Я думаю, что RegExps - не лучшее решение ваших проблем, но вот они:

  1. \b(1(01)*|0(10)*)\b try в regexr
  2. \b([01]*11[01]|0*1+[01]*[01]{3})\b попытка в регулярном выражении
  3. \b[01]*00\b попытка в регулярном выражении
  4. \b((01|10){1,2}|0011|1100)\b попытка в регулярном выражении
0 голосов
/ 23 сентября 2018

Я разделил это на 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 все вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...