Lektionen des Moduls (2/4)
Wortgrenzen: `\b` `\B`
\b ist ein Wortgrenzenanker (word boundary): Er matcht die Position zwischen einem Wortzeichen (\w) und einem Nicht-Wortzeichen (\W oder dem Anfang/Ende des Strings). Wie ^ und $ konsumiert er KEINE Zeichen.
Pattern: \bgatto\b
Sample: Il gatto e la gattina giocano.
^^^^^gatto matcht nur als ganzes Wort: Innerhalb von gattina ist die Sequenz gatto nicht vorhanden (das abschließende o fehlt), aber es würde auch nicht mit gatti übereinstimmen, da das abschließende i ein Wortzeichen ist.
\B ist das Gegenteil: Es matcht eine Position, die KEINE Wortgrenze ist.
"Ganze Wörter" finden
Die typischste Verwendung von \b ist "matcht das Wort X nur, wenn es isoliert ist, nicht als Teil eines anderen Wortes":
\bif\b matcht 'if', aber nicht 'sniff', 'gift', 'lifetime'.Wortgrenzen und Nicht-Wort-Zeichen
Die Grenze \b matcht kein physisches Zeichen; sie ist eine Positionsprüfung. Eine Grenze \b existiert zwischen einem \w-Zeichen und einem Nicht-\w-Zeichen (oder Anfang/Ende des Textes). Die Verneinung \B stellt sicher, dass die aktuelle Position keine Wortgrenze ist.
Probiere es aus
Finde jedes Vorkommen des ganzen Wortes `cat` (case-insensitive). Es darf NICHT mit `categorymulti_replace_file_content`, `concatenate`, `scatter` übereinstimmen.
Hinweis anzeigen
Schließe 'cat' in zwei \b ein: Grenze am Anfang UND Grenze am Ende.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Finde jede ganze Zahl, die NICHT Teil eines Bezeichners ist (z. B. `42` ja, aber weder `var42` noch `42abc`). Verwende `` auf beiden Seiten.
Hinweis anzeigen
\b\d+\b matcht nur 'isolierte' Ziffernfolgen. abc42 hat ein 'c' (Wortzeichen) vor der 42.
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
Finde die Sequenz `cat` nur dann, wenn sie ein längeres Wort einleitet, ausgenommen wenn sie als ganzes Wort oder am Ende erscheint (z. B. matche `catalog`, aber nicht `wildcat` oder isoliertes `cat`).
Hinweis anzeigen
Verwende \b am Anfang von cat (Wortgrenze) und \B am Ende (keine Wortgrenze).
Lösung nach 3 Versuchen verfügbar