Zum Inhalt springen

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


Output appears here after Run.

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 Ergebnis true.
  • In der Zeichenfolge 'The caterpillar is here.' ist "cat" Teil des Wortes "caterpillar", daher ist das Ergebnis false.

Beispiel: Ganze Wörter im Text finden


Output appears here after Run.

Erklärung:

  • Der reguläre Ausdruck /\bcat\b/g findet 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.


Output appears here after Run.

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 \w nur Wortzeichen abgleicht, erzwingen ^ und $ implizit Wortgrenzen, wodurch \b hier ü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 \w Unterstriche 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.


Output appears here after Run.

Erklärung:

  • Das Muster /\btest\w*\b/gi findet 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


Output appears here after Run.

Erklärung:

  • Der reguläre Ausdruck /\bpre\w*\b/g findet Wörter, die mit dem Präfix "pre" beginnen.
  • \bpre prüft eine Wortgrenze gefolgt von "pre".
  • \w* findet null oder mehr Wortzeichen.
  • \b prüft am Ende eine Wortgrenze.
  • Das Ergebnis ist ein Array mit ["preheat", "prefix", "prepare", "pressure"].

Beispiel: Wörter mit bestimmtem Suffix finden


Output appears here after Run.

Erklärung:

  • Der reguläre Ausdruck /\w+ing\b/g findet Wörter, die auf "ing" enden.
  • \w+ findet ein oder mehrere Wortzeichen.
  • ing\b findet "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


Output appears here after Run.

Erklärung:

  • Der reguläre Ausdruck /\bdog\b/g findet 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?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.