Перейти до основного вмісту
Модуль 1 · Урок 1 із 41/32 у курсі~8 min
Модульні уроки (1/4)

Літеральні шаблони

У регулярному виразі "звичайні" буквено-цифрові символи просто збігаються між собою: write ciao як шаблон, і механізм шукатиме підрядок ciao всередині текст. Нічого більш чарівного: сканування зліва направо позиція за позицією.

Code
Pattern: ciao
Sample:  Buongiorno, ciao mondo! Ti dico anche ciao.
                     ^^^^                        ^^^^

Збіг завжди містить дві ключові частини інформації:

  • відповідний текст (тут ciao);
  • індекс (зсув на основі 0), де він починається у зразку (тут 12 та 38).

За умовчанням регулярні вирази чутливі до регістру: ciao не відповідає Ciao або CIAO. Щоб ігнорувати регістр, додайте прапорець i (регістр не враховується).

Як працює двигун

Механізм регулярних виразів перевіряє текст по одному символу за раз. Під час пошуку літерального шаблону ciao спочатку шукається літера c. Знайшовши, він перевіряє, чи є наступний символ i, потім a і, нарешті, o. Якщо будь-який із цих збігів не вдається, механізм повертається до наступної початкової позиції та знову починає шукати c.

Літеральні шаблони та прапор g

Без прапора g (глобальний) механізм зупиняється за першого знайденого збігу та зупиняється. с g він продовжує та збирає кожен наступний збіг до кінця рядка. У цьому курсі ми будемо майже завжди вмикайте g: ми хочемо бачити кожний збіг у тексті.

Спробуйте

вправи#regex.m1.l1.e1
Спроби: 0Завантаження…

Знайдіть кожне точне (з урахуванням регістру) слово "ciao" у зразку. Підказка: запам’ятайте прапор `g`.

Завантаження редактора…
Показати підказку

Зразок — це саме слово. Великі літери не повинні збігатися: немає позначки i.

Рішення доступне після 3 спроб

Повторна вправа

вправи#regex.m1.l1.e2
Спроби: 0Завантаження…

Знайдіть кожне слово `errore` у тексті, ігноруючи верхній/нижній регістр.

Завантаження редактора…
Показати підказку

Те саме слово, що й шаблон, але додайте прапорець i (незалежно від регістру) поруч із g.

Рішення доступне після 3 спроб

Додатковий виклик

вправи#regex.m1.l1.e3
Спроби: 0Завантаження…

Визначте та зберіть усі точні випадки слова `ПОПЕРЕДЖЕННЯ` (великі літери, з урахуванням регістру) у прикладі тексту журналу.

Завантаження редактора…
Показати підказку

Шукайте буквальний рядок WARNING, переконавшись, що не активовано позначку i.

Рішення доступне після 3 спроб