60 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 587d7db5367417b2b2512b95 | |||
|  | title: Match Single Character with Multiple Possibilities | |||
|  | challengeType: 1 | |||
|  | videoUrl: '' | |||
|  | localeTitle: Совместный персонаж с несколькими возможностями | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description"> Вы узнали, как сопоставить литералы ( <code>/literal/</code> ) и подстановочный знак ( <code>/./</code> ). Это крайности регулярных выражений, где вы найдете точные совпадения, а другие - все. Существуют варианты, которые являются балансом между двумя крайностями. Вы можете искать буквенный шаблон с некоторой гибкостью с <code>character classes</code> . Классы символов позволяют вам определять группу символов, которые вы хотите сопоставить, помещая их в квадратные ( <code>[</code> и <code>]</code> ) скобки. Например, вы хотите совместить <code>"bag"</code> , <code>"big"</code> и <code>"bug"</code> но не <code>"bog"</code> . Вы можете создать regex <code>/b[aiu]g/</code> для этого. <code>[aiu]</code> - это класс символов, который будет соответствовать только символам <code>"a"</code> , <code>"i"</code> или <code>"u"</code> . <blockquote> пусть bigStr = «большой»; <br> let bagStr = "bag"; <br> let bugStr = "ошибка"; <br> пусть bogStr = "болото"; <br> пусть bgRegex = / b [aiu] g /; <br> bigStr.match (bgRegex); // Возвращает ["большой"] <br> bagStr.match (bgRegex); // Возвращает ["bag"] <br> bugStr.match (bgRegex); // Возвращает ["bug"] <br> bogStr.match (bgRegex); // Возвращает значение null </blockquote></section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | <section id="instructions"> Используйте класс символов с гласными ( <code>a</code> , <code>e</code> , <code>i</code> , <code>o</code> , <code>u</code> ) в вашем регулярном выражении <code>vowelRegex</code> чтобы найти все гласные в строке <code>quoteSample</code> . <strong>Заметка</strong> <br> Обязательно сопоставляйте гласные и нижние строчные гласные. </section> | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | 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.");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | 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 | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |