Files
freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.russian.md

3.9 KiB
Raw Blame History

id, title, challengeType, forumTopicId, localeTitle
id title challengeType forumTopicId localeTitle
587d7db5367417b2b2512b95 Match Single Character with Multiple Possibilities 1 301357 Совместный персонаж с несколькими возможностями

Description

Вы узнали, как сопоставить литералы ( /literal/ ) и подстановочный знак ( /./ ). Это крайности регулярных выражений, где вы найдете точные совпадения, а другие - все. Существуют варианты, которые являются балансом между двумя крайностями. Вы можете искать буквенный шаблон с некоторой гибкостью с character classes . Классы символов позволяют вам определять группу символов, которые вы хотите сопоставить, помещая их в квадратные ( [ и ] ) скобки. Например, вы хотите совместить "bag" , "big" и "bug" но не "bog" . Вы можете создать regex /b[aiu]g/ для этого. [aiu] - это класс символов, который будет соответствовать только символам "a" , "i" или "u" .
пусть bigStr = «большой»;
let bagStr = "bag";
let bugStr = "ошибка";
пусть bogStr = "болото";
пусть bgRegex = / b [aiu] g /;
bigStr.match (bgRegex); // Возвращает ["большой"]
bagStr.match (bgRegex); // Возвращает ["bag"]
bugStr.match (bgRegex); // Возвращает ["bug"]
bogStr.match (bgRegex); // Возвращает значение null

Instructions

Используйте класс символов с гласными ( a , e , i , o , u ) в вашем регулярном выражении vowelRegex чтобы найти все гласные в строке quoteSample . Заметка
Обязательно сопоставляйте гласные и нижние строчные гласные.

Tests

tests:
  - text: You should find all 25 vowels.
    testString: assert(result.length == 25);
  - text: Your regex <code>vowelRegex</code> should use a character class.
    testString: assert(/\[.*\]/.test(vowelRegex.source));
  - text: Your regex <code>vowelRegex</code> should use the global flag.
    testString: assert(vowelRegex.flags.match(/g/).length == 1);
  - text: Your regex <code>vowelRegex</code> should use the case insensitive flag.
    testString: assert(vowelRegex.flags.match(/i/).length == 1);
  - text: Your regex should not match any consonants.
    testString: assert(!/[b-df-hj-np-tv-z]/gi.test(result.join()));

Challenge Seed

let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /change/; // Change this line
let result = vowelRegex; // Change this line

Solution

let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /[aeiou]/gi; // Change this line
let result = quoteSample.match(vowelRegex); // Change this line