Files
freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.russian.md

4.0 KiB
Raw Blame History

id, title, challengeType, forumTopicId, localeTitle
id title challengeType forumTopicId localeTitle
587d7db7367417b2b2512b9c Find One or More Criminals in a Hunt 1 301343 Найти одного или нескольких преступников в охоте

Description

Время для приостановки и тестирования ваших новых навыков написания регулярных выражений. Группа преступников убежала из тюрьмы и убежала, но вы не знаете, сколько. Однако вы знаете, что они остаются рядом друг с другом, когда они вокруг других людей. Вы несете ответственность за обнаружение всех преступников сразу. Вот пример, чтобы посмотреть, как это сделать: regex /z+/ соответствует букве z когда она появляется один или несколько раз подряд. Он найдет совпадения во всех следующих строках:
«Г»
"Zzzzzz"
"ABCzzzz"
"ZzzzABC"
"Abczzzzzzzzzzzzzzzzzzzzzabc"
Но он не находит совпадений в следующих строках, поскольку буквы буквы z :
«»
"ABC"
"Abcabc"

Instructions

Напишите greedy регулярное выражение, которое находит одного или нескольких преступников внутри группы других людей. Преступник представлен заглавной буквой C

Tests

tests:
  - text: Your regex should match <code>one</code> criminal (<code>C</code>) in <code>"C"</code>
    testString: assert('C'.match(reCriminals) && 'C'.match(reCriminals)[0] == 'C');
  - text: Your regex should match <code>two</code> criminals (<code>CC</code>) in <code>"CC"</code>
    testString: assert('CC'.match(reCriminals) && 'CC'.match(reCriminals)[0] == 'CC');
  - text: Your regex should match <code>three</code> criminals (<code>CCC</code>) in <code>"P1P5P4CCCP2P6P3"</code>
    testString: assert('P1P5P4CCCP2P6P3'.match(reCriminals) && 'P1P5P4CCCP2P6P3'.match(reCriminals)[0] == 'CCC');
  - text: Your regex should match <code>five</code> criminals (<code>CCCCC</code>) in <code>"P6P2P7P4P5CCCCCP3P1"</code>
    testString: assert('P6P2P7P4P5CCCCCP3P1'.match(reCriminals) && 'P6P2P7P4P5CCCCCP3P1'.match(reCriminals)[0] == 'CCCCC');
  - text: Your regex should not match any criminals in <code>""</code>
    testString: assert(!reCriminals.test(''));
  - text: Your regex should not match any criminals in <code>"P1P2P3"</code>
    testString: assert(!reCriminals.test('P1P2P3'));
  - text: Your regex should match <code>fifty</code> criminals (<code>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</code>) in <code>"P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"</code>.
    testString: assert('P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3'.match(reCriminals) && 'P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3'.match(reCriminals)[0] == "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC");

Challenge Seed

// example crowd gathering
let crowd = 'P1P2P3P4P5P6CCCP7P8P9';

let reCriminals = /./; // Change this line

let matchedCriminals = crowd.match(reCriminals);
console.log(matchedCriminals);

Solution

// example crowd gathering
let crowd = 'P1P2P3P4P5P6CCCP7P8P9';

let reCriminals = /C+/; // Change this line

let matchedCriminals = crowd.match(reCriminals);