You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 9-regular-expressions/13-regexp-alternation/02-find-matching-bbtags/solution.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
Відкриваючий тег - це `pattern:\[(b|url|quote)]`.
2
+
Відкриваючий тег -- це `pattern:\[(b|url|quote)]`.
3
3
4
4
Потім, щоб знайти все, до закриваючого тегу -- використаємо вираз `pattern:.*?` з прапорцем `pattern:s` щоб знайти будь-які символи, включно з новим рядком, а потім додати зворотне посилання до закриваючого тегу.
У попередніх главах було завдання написати регулярний вираз для пошуку часу у форматі `гг:хх`, наприклад `12:00`. Однак простий шаблон `pattern:\d\d:\d\d` недостатньо точний. Він приймає `25:99` як час (99 хвилин підходять до шаблону, однак цей час не є вірним).
36
+
У попередніх статтях було завдання написати регулярний вираз для пошуку часу у форматі `гг:хх`, наприклад `12:00`. Однак простий шаблон `pattern:\d\d:\d\d` недостатньо точний. Він приймає `25:99` як час (99 хвилин підходять до шаблону, однак цей час не є вірним).
37
37
38
38
Як ми можемо написати кращий шаблон?
39
39
40
40
Можна зробити більш ретельне порівняння. Спочатку, години:
41
41
42
42
- Якщо перша цифра `0` або `1`, тоді наступна може бути будь-якою цифрою: `pattern:[01]\d`.
43
43
- В іншому випадку, якщо перша цифра `2`, тоді наступна має бути від 0 до 3 `pattern:[0-3]`.
44
-
- (іншої першої цифри не може бути)
44
+
- (іншої першої цифри бути не може)
45
45
46
46
Ми можемо написати обидва варіанти у регулярному виразі за допомогою альтернації: `pattern:[01]\d|2[0-3]`.
0 commit comments