freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-an.../regular-expressions/match-single-character-with...

4.3 KiB
Raw Blame History

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

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: Вы должны найти все 25 гласных.
    testString: 'assert(result.length == 25, "You should find all 25 vowels.");'
  - text: Ваш regex <code>vowelRegex</code> должен использовать класс символов.
    testString: 'assert(/\[.*\]/.test(vowelRegex.source), "Your regex <code>vowelRegex</code> should use a character class.");'
  - text: Ваш regex <code>vowelRegex</code> должен использовать глобальный флаг.
    testString: 'assert(vowelRegex.flags.match(/g/).length == 1, "Your regex <code>vowelRegex</code> should use the global flag.");'
  - text: 'В вашем регулярном выражении <code>vowelRegex</code> должен использоваться флаг, нечувствительный к регистру.'
    testString: 'assert(vowelRegex.flags.match(/i/).length == 1, "Your regex <code>vowelRegex</code> should use the case insensitive flag.");'
  - text: Ваше регулярное выражение не должно соответствовать согласным.
    testString: 'assert(!/[b-df-hj-np-tv-z]/gi.test(result.join()), "Your regex should not match any consonants.");'

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

// solution required