Skip to content

Commit 1f8b312

Browse files
committed
Review: 04-regexp-anchors
1 parent 14ad4be commit 1f8b312

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Порожній рядок є єдиним збігом: він починається і негайно закінчується.
22

3-
Задача ще раз доводить що якорі не являються символами, вони є тестами.
3+
Задача ще раз доводить що якорі не є символами, вони є додатковими умовами.
44

5-
Рядок порожній `""`. Механізм спочатку відповідає `pattern:^` (початок введення), так, він там, а потім одразу кінцевий `pattern:$`, він також є тут. Отже, збіг є.
5+
Рядок порожній `""`. Рушій спочатку перевіряє `pattern:^` (початок введення), так, він там, а потім одразу кінцевий `pattern:$`, він також збігається. Отже, збіг є, рядок відповідає шаблону.
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Якорі: початок рядка ^ і кінець $
1+
# Якорі: початок ^ і кінець $ рядка
22

3-
Символи каретки `pattern:^` і долара `pattern:$` мають особливе значення в регулярному виразі. Їх називають "якорі".
3+
Символи каретки `pattern:^` і долара `pattern:$` мають особливе значення в регулярних виразах. Їх називають "якорі".
44

5-
Каретка `pattern:^` збігається з початком тексту, а долар `pattern:$` з кінцем.
5+
Каретка `pattern:^` змушує шукати збіг на початку тексту, а долар `pattern:$` в кінці.
66

77
Наприклад, перевіримо, чи текст починається з `Марійка`:
88

@@ -11,24 +11,24 @@ let str1 = "Марійка мала маленьке ягня";
1111
alert( /^Марійка/.test(str1) ); // true
1212
```
1313

14-
Шаблон `pattern:^Марійка` означає: "початок рядка, а потім Марійка".
14+
Шаблон `pattern:^Марійка` означає: "шукаємо Марійка на початку рядка".
1515

16-
Відповідно, ми можемо протестувати чи закінчується рядок з `сніг` використавши `pattern:сніг$`
16+
Відповідно, ми можемо перевірити чи закінчується рядок на `сніг` використавши `pattern:сніг$`
1717

1818
```js run
1919
let str1 = "ця шерсть була білою як сніг";
2020
alert( /сніг$/.test(str1) ); // true
2121
```
2222

23-
Конкретно в цих випадках ми можемо використати методи рядка `startsWith/endsWith`. Для складніших тестів слід використовувати регулярні вирази.
23+
Звісно, в цих випадках ми можемо використати методи рядка `startsWith/endsWith`. Проте для складнішого пошуку слід використовувати регулярні вирази.
2424

2525
## Перевірка на повний збіг
2626

2727
Обидва якорі разом `pattern:^...$` часто використовуються для перевірки того, чи рядок повністю відповідає шаблону. Наприклад, щоб перевірити, чи введені користувачем дані мають правильний формат.
2828

29-
Перевіримо, чи є рядок часом у форматі: `12:34`. Тобто: дві цифри, потім двокрапка, а потім ще дві цифри.
29+
Перевіримо, чи представлено час у рядку в форматі: `12:34`. Тобто: дві цифри, потім двокрапка, а потім ще дві цифри.
3030

31-
У мові регулярних виразів це виглядає так `pattern:\d\d:\d\d`:
31+
Мовою регулярних виразів це виглядає так `pattern:\d\d:\d\d`:
3232

3333
```js run
3434
let goodInput = "12:34";
@@ -39,14 +39,14 @@ alert( regexp.test(goodInput) ); // true
3939
alert( regexp.test(badInput) ); // false
4040
```
4141

42-
Тут збіг для `pattern:\d\d:\d\d` має починатися точно після початку тексту `pattern:^`, а кінцевий `pattern:$` має йти відразу в слід.
42+
Тут збіг для `pattern:\d\d:\d\d` має починатися точно після початку тексту `pattern:^`, і не мати нічого зайвого в кінці `pattern:$`.
4343

44-
Весь рядок має бути саме в цьому форматі. Якщо є будь-яке відхилення або додатковий символ, результатом буде `false`.
44+
Весь рядок має бути саме в цьому форматі. Якщо є будь-яке відхилення або додатковий символ, то `test` поверне `false`.
4545

46-
Якір поводиться інакше, якщо присутній прапорець `pattern:m`. Розглянемо це в наступній статті.
46+
Якір поводиться інакше, якщо присутній прапорець `pattern:m`. Ми розглянемо це в наступній статті.
4747

4848
```smart header="У якорів \"нульова ширина\""
49-
Якорі `pattern:^` та `pattern:$` -- це перевірки. В них нульова ширина.
49+
Якорі `pattern:^` та `pattern:$` -- це додаткові перевірки. В них нульова ширина.
5050
51-
Іншими словами, вони не додають до результату пошуку символи, а лише заставляють рушій регулярних виразів перевірити умову (початок/кінець тексту).
51+
Іншими словами, вони не додають до результату пошуку символи, а лише змушують рушій регулярних виразів перевірити умову (початок/кінець тексту).
5252
```

0 commit comments

Comments
 (0)