Модульні уроки (2/4)
Межі слова: `\b` `\B`
\b є прив’язкою межі слова: вона відповідає положенню між
символ слова (\w) і символ, що не є словом (\W, або початок/кінець
рядок). Як і ^ та $, він НЕ споживає символів.
Pattern: \bgatto\b
Sample: Il gatto e la gattina giocano.
^^^^^gatto збігається лише як ціле слово: усередині gattina послідовності
gatto немає (останній o відсутній), але він не збігається
gatti або тому, що останній i є символом слова.
\B є протилежністю: воно відповідає позиції, яка НЕ є словом
межа.
Пошук «цілих слів»
Найтиповішим використанням \b є "відповідати слову X, лише якщо воно ізольоване, а не
як частина іншого слова":
\bif\b matches 'if' but not 'sniff', 'gift', 'lifetime'.Межі слів і несловесні символи
Межа \\b не відповідає жодному фізичному символу; це перевірка позиції. Межа \\b існує між символом \\w і не \\w символом (або початком/кінцем тексту). Заперечення \\B стверджує, що поточна позиція не є межею слова.
Спробуйте
Знайти кожне повторення цілого слова "кішка" (незалежно від регістру). Він НЕ повинен відповідати `category`, `concatenate`, `scatter`.
Показати підказку
Оберніть «кішку» між двома \\b: межею на початку ТА межею в кінці.
Рішення доступне після 3 спроб
Повторна вправа
Знайти кожне ціле число, яке НЕ є частиною ідентифікатора (наприклад, `42` так, але ні `var42`, ні `42abc`). Використовуйте `\\b` з обох сторін.
Показати підказку
\\b\\d+\\b відповідає лише «ізольованим» послідовностям цифр. abc42 має 'c' (слово) перед 42.
Рішення доступне після 3 спроб
Додатковий виклик
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 спроб