93 lines
3.4 KiB
Markdown
93 lines
3.4 KiB
Markdown
---
|
||
id: 587d7db8367417b2b2512ba0
|
||
title: Встановлення відповідності між усім, крім літер та чисел
|
||
challengeType: 1
|
||
forumTopicId: 301353
|
||
dashedName: match-everything-but-letters-and-numbers
|
||
---
|
||
|
||
# --description--
|
||
|
||
Ви вже дізналися, що можна використовувати скорочення для пошуку відповідності алфавітно-цифрового індикатора `[A-Za-z0-9_]`, використовуючи `\w`. Звісно, вам може бути потрібно знайти протилежне до алфавітно-цифрового індикатора.
|
||
|
||
Ви можете знайти протилежне значення функції `\w` з `\W`. Майте на увазі, що протилежний шаблон використовується з великою літерою. Це скорочення збігається з `[^A-Za-z0-9_]`.
|
||
|
||
```js
|
||
let shortHand = /\W/;
|
||
let numbers = "42%";
|
||
let sentence = "Coding!";
|
||
numbers.match(shortHand);
|
||
sentence.match(shortHand);
|
||
```
|
||
|
||
Перший виклик `match` повернеться як `["%"]`, а другий — як `["!"]`.
|
||
|
||
# --instructions--
|
||
|
||
Застосуйте скорочення класу символів `\W`, щоб підрахувати кількість алфавітно-цифрових символів у різних цитатах і рядках.
|
||
|
||
# --hints--
|
||
|
||
Ваш регулярний вираз повинен використовувати глобальний прапорець.
|
||
|
||
```js
|
||
assert(nonAlphabetRegex.global);
|
||
```
|
||
|
||
Ваш регулярний вираз повинен знайти 6 не алфавітно-цифрових символів у рядку `The five boxing wizards jump quickly.`.
|
||
|
||
```js
|
||
assert(
|
||
'The five boxing wizards jump quickly.'.match(nonAlphabetRegex).length == 6
|
||
);
|
||
```
|
||
|
||
Ваш регулярний вираз повинен використовувати символи скорочення, щоб знайти відповідності до не алфавітно-цифрових символів.
|
||
|
||
```js
|
||
assert(/\\W/.test(nonAlphabetRegex.source));
|
||
```
|
||
|
||
Ваш регулярний вираз повинен знайти 8 не алфавітно-цифрових символів у рядку `Pack my box with five dozen liquor jugs.`
|
||
|
||
```js
|
||
assert(
|
||
'Pack my box with five dozen liquor jugs.'.match(nonAlphabetRegex).length == 8
|
||
);
|
||
```
|
||
|
||
Ваш регулярний вираз повинен знайти 6 не алфавітно-цифрових символів у рядку `How vexingly quick daft zebras jump!`
|
||
|
||
```js
|
||
assert(
|
||
'How vexingly quick daft zebras jump!'.match(nonAlphabetRegex).length == 6
|
||
);
|
||
```
|
||
|
||
Ваш регулярний вираз повинен знайти 12 не алфавітно-цифрових символів у рядку `123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.`
|
||
|
||
```js
|
||
assert(
|
||
'123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.'.match(nonAlphabetRegex)
|
||
.length == 12
|
||
);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
let quoteSample = "The five boxing wizards jump quickly.";
|
||
let nonAlphabetRegex = /change/; // Change this line
|
||
let result = quoteSample.match(nonAlphabetRegex).length;
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
let quoteSample = "The five boxing wizards_jump quickly.";
|
||
let nonAlphabetRegex = /\W/g; // Change this line
|
||
let result = quoteSample.match(nonAlphabetRegex).length;
|
||
```
|