JavaScript-Regex-Wortgrenze (\b)
Einführung in Wortgrenzen
In JavaScript-regulären Ausdrücken wird der Anker \b verwendet, um Wortgrenzen zu erkennen. Eine Wortgrenze ist eine Position zwischen einem Wortzeichen (normalerweise \w, was [a-zA-Z0-9_] einschließt) und einem Nicht-Wortzeichen (alles, was kein Wortzeichen ist). Dadurch lassen sich ganze Wörter sehr präzise abgleichen, was besonders nützlich für Aufgaben wie Suchen, Ersetzen oder das Validieren bestimmter Wortmuster in Texten ist.
Verwendung des Ankers \b
Der Anker \b ist eine Assertion ohne Breite, die Positionen erkennt, an denen ein Wortzeichen neben einem Nicht-Wortzeichen steht. Er verbraucht beim Abgleich keine Zeichen. Dies kann am Anfang oder Ende eines Wortes auftreten.
Beispiel: Ganze Wörter abgleichen
Erklärung:
- Der reguläre Ausdruck
/\bcat\b/findet das Wort "cat" als ganzes Wort. - In der Zeichenfolge
'The cat is here.'ist "cat" ein separates Wort, daher ist das Ergebnistrue. - In der Zeichenfolge
'The caterpillar is here.'ist "cat" Teil des Wortes "caterpillar", daher ist das Ergebnisfalse.
Beispiel: Ganze Wörter im Text finden
Erklärung:
- Der reguläre Ausdruck
/\bcat\b/gfindet alle Vorkommen von "cat" als ganzes Wort im Text. - Er findet nur "cat" und nicht "scatter", "caterpillar" oder "catfish", weil "cat" in diesen Kontexten kein separates Wort ist.
- Das Ergebnis ist ein Array mit
["cat"].
Praktische Anwendungen
Eingabefelder validieren
Wortgrenzen können nützlich sein, um Eingabefelder zu validieren, bei denen exakte Wortübereinstimmungen erforderlich sind.
Erklärung:
- Der reguläre Ausdruck
/^\w+$/stellt sicher, dass die Eingabe aus genau einem Wort ohne Leerzeichen besteht. ^prüft den Anfang der Zeichenfolge und$das Ende. Da\wnur Wortzeichen abgleicht, erzwingen^und$implizit Wortgrenzen, wodurch\bhier überflüssig ist.\w+findet ein oder mehrere Wortzeichen (einschließlich Buchstaben, Ziffern und Unterstriche).'user123'passt, weil es ein einzelnes Wort ohne Leerzeichen ist.'user 123'passt nicht, weil es ein Leerzeichen enthält, das die Folge der Wortzeichen unterbricht.- Beachten Sie, dass
\wUnterstriche einschließt, was die Validierungslogik beeinflussen kann, wenn Sie diese ausschließen möchten.
Wörter aus einem Satz extrahieren
Sie können mithilfe von Wortgrenzen bestimmte Wörter aus einem Satz extrahieren.
Erklärung:
- Das Muster
/\btest\w*\b/gifindet jedes Wort, das mit "test" beginnt. - Das
g-Flag sorgt dafür, dass alle Treffer in der Zeichenfolge zurückgegeben werden. - Das
i-Flag sorgt dafür, dass der Abgleich nicht zwischen Groß- und Kleinschreibung unterscheidet, sodass sowohl "test" als auch "Testing" gefunden werden. - Das Ergebnis ist
["test", "Testing"], da beide Wörter mit "test" beginnen und von null oder mehr Wortzeichen gefolgt werden.
Wortgrenzen mit anderen Mustern kombinieren
Wortgrenzen können mit anderen Regex-Mustern kombiniert werden, um komplexere Treffer zu erzielen.
Beispiel: Wörter mit Präfix finden
Erklärung:
- Der reguläre Ausdruck
/\bpre\w*\b/gfindet Wörter, die mit dem Präfix "pre" beginnen. \bpreprüft eine Wortgrenze gefolgt von "pre".\w*findet null oder mehr Wortzeichen.\bprüft am Ende eine Wortgrenze.- Das Ergebnis ist ein Array mit
["preheat", "prefix", "prepare", "pressure"].
Beispiel: Wörter mit bestimmtem Suffix finden
Erklärung:
- Der reguläre Ausdruck
/\w+ing\b/gfindet Wörter, die auf "ing" enden. \w+findet ein oder mehrere Wortzeichen.ing\bfindet "ing" gefolgt von einer Wortgrenze.- Das Ergebnis ist ein Array mit
["running", "walking", "talking", "thinking"].
INFO
Wenn Sie ganze Wörter abgleichen oder sicherstellen müssen, dass Wörter nicht Teil größerer Zeichenfolgen sind, verwenden Sie den Anker \b, um Wortgrenzen präzise zu definieren
Verwenden Sie \b für präzisen Wortabgleich
Beispiel: Präziser Wortabgleich
Erklärung:
- Der reguläre Ausdruck
/\bdog\b/gfindet das Wort "dog" als ganzes Wort. - Er findet "dogs" nicht, weil "dog" in diesem Kontext kein separates Wort ist.
- Das Ergebnis ist ein Array mit
["dog"].
Fazit
Der Anker \b in JavaScript-Regulären Ausdrücken ist ein leistungsstarkes Werkzeug zum Erkennen von Wortgrenzen. Mit diesem Anker können Sie präzise und effektive Muster zum Finden, Ersetzen und Validieren von Wörtern in Texten erstellen. Ob Sie an Suchfunktionen, Datenvalidierung oder Textverarbeitung arbeiten – das Verständnis und die Nutzung von Wortgrenzen kann Ihre Regex-Fähigkeiten erheblich verbessern.
Practice
What is the use of word boundary '\b' in JavaScript?