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

Межі слова: `\b` `\B`

\b є прив’язкою межі слова: вона відповідає положенню між символ слова (\w) і символ, що не є словом (\W, або початок/кінець рядок). Як і ^ та $, він НЕ споживає символів.

Code
Pattern: \bgatto\b
Sample:  Il gatto e la gattina giocano.
            ^^^^^

gatto збігається лише як ціле слово: усередині gattina послідовності gatto немає (останній o відсутній), але він не збігається gatti або тому, що останній i є символом слова.

\B є протилежністю: воно відповідає позиції, яка НЕ є словом межа.

Пошук «цілих слів»

Найтиповішим використанням \b є "відповідати слову X, лише якщо воно ізольоване, а не як частина іншого слова":

Code
\bif\b   matches 'if' but not 'sniff', 'gift', 'lifetime'.

Межі слів і несловесні символи

Межа \\b не відповідає жодному фізичному символу; це перевірка позиції. Межа \\b існує між символом \\w і не \\w символом (або початком/кінцем тексту). Заперечення \\B стверджує, що поточна позиція не є межею слова.

Спробуйте

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

Знайти кожне повторення цілого слова "кішка" (незалежно від регістру). Він НЕ повинен відповідати `category`, `concatenate`, `scatter`.

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

Оберніть «кішку» між двома \\b: межею на початку ТА межею в кінці.

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

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

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

Знайти кожне ціле число, яке НЕ є частиною ідентифікатора (наприклад, `42` так, але ні `var42`, ні `42abc`). Використовуйте `\\b` з обох сторін.

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

\\b\\d+\\b відповідає лише «ізольованим» послідовностям цифр. abc42 має 'c' (слово) перед 42.

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

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

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

Find the sequence `cat` only if it starts a longer word, excluding when it appears as a whole word or at the end (e.g. match `catalog` but not `wildcat` or isolated `cat`).

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

Використовуйте \\b на початку cat (межа слова) і \\B наприкінці (межа слова).

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