Salt la conținutul principal
Modulul 3 · Lecția 2 din 410/32 în curs~10 min
Lecții din modul (2/4)

Limitele cuvintelor: `\b` `\B`

\b este o ancoră de delimitare a cuvântului: se potrivește cu poziția dintre un caracterul cuvânt (\w) și un caracter fără cuvânt (\W sau începutul/sfârșitul sfoara). La fel ca ^ și $, NU consumă caractere.

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

gatto se potrivește numai ca cuvânt întreg: în interiorul gattina secvența gatto nu este acolo (lipsește o final), dar nu s-ar potrivi gatti fie pentru că i final este un caracter de cuvânt.

\B este opusul: se potrivește cu o poziție care NU este un cuvânt hotar.

Găsirea „cuvintelor întregi”

Cea mai obișnuită utilizare a \b este „potriviți cuvântul X numai când este izolat, nu ca parte a unui alt cuvânt":

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

Limitele cuvintelor și caracterele non-cuvinte

Limita \\b nu se potrivește cu niciun caracter fizic; este un test de poziție. Există o limită \\b între un caracter \\w și un caracter non-\\w (sau începutul/sfârșitul textului). Negația \\B afirmă că poziția curentă nu este o limită de cuvânt.

Încearcă

Exercițiu#regex.m3.l2.e1
Încercări: 0Se încarcă…

Găsiți fiecare apariție a întregului cuvânt „pisica” (insensibil la majuscule). NU trebuie să se potrivească cu `category`, `concatenate`, `scatter`.

Se încarcă editorul...
Afișează indiciu

Înfășurați „pisica” între două \\b: graniță la început ȘI graniță la sfârșit.

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#regex.m3.l2.e2
Încercări: 0Se încarcă…

Găsiți fiecare număr întreg care NU face parte dintr-un identificator (de exemplu, `42` da, dar nici `var42` și nici `42abc`). Folosiți `\\b` pe ambele părți.

Se încarcă editorul...
Afișează indiciu

\\b\\d+\\b se potrivește numai cu secvențe de cifre „izolate”. abc42 are „c” (cuvânt) înainte de 42.

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#regex.m3.l2.e3
Încercări: 0Se încarcă…

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`).

Se încarcă editorul...
Afișează indiciu

Folosiți \\b la începutul pisicii (limită de cuvânt) și \\B la sfârșit (limită non-cuvânt).

Soluție disponibilă după 3 încercări