Уроки модуля (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 не соответствует никакому физическому символу; это проверка позиции. Между символом \\w и символом, отличным от \\w (или началом/концом текста), существует граница \\b. Отрицание \\B утверждает, что текущая позиция не является границей слова.
Попробуйте это
Найдите каждое вхождение всего слова `cat` (без учета регистра). Он НЕ должен соответствовать «категории», «объединению», «разбросу».
Показать подсказку
Оберните 'cat' между двумя \\b: границей в начале И границей в конце.
Решение доступно после 3 попыток
Обзор упражнения
Найдите каждое целое число, которое НЕ является частью идентификатора (например, `42` да, но ни `var42`, ни `42abc`). Используйте `\\b` с обеих сторон.
Показать подсказку
\\b\\d+\\b соответствует только «изолированным» последовательностям цифр. В abc42 перед цифрой 42 стоит буква «c» (слово).
Решение доступно после 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 попыток