Reguläre Ausdrücke - Metazeichen \b und \B
Reguläre Ausdrücke - Metazeichen
\bund\BSie sind zwei spezielle Metazeichen in regulären Ausdrücken, mit denen Wortgrenzen abgeglichen werden.
Wortgrenze \b
In regulären Ausdrücken ist\bein spezielles Metazeichen, das eine Wortgrenze darstellt. Es stimmt mit der Position am Anfang oder Ende eines Wortes überein, ohne dabei tatsächliche Zeichen zu treffen.
Genauer gesagt stimmt\bes mit einer der folgenden drei Situationen überein:
- Wortanfang: wenn
\bes vor einem Buchstaben oder einer Ziffer oder am Anfang einer Zeichenkette erscheint, stimmt es mit der Startposition eines Wortes überein. - Wortende: wenn
\bes nach einem Buchstaben oder einer Ziffer oder am Ende einer Zeichenkette erscheint, stimmt es mit der Endposition eines Wortes überein. - Innerhalb eines Wortes: wenn
\bes zwischen zwei aufeinanderfolgenden Buchstaben oder Ziffern erscheint, stimmt es mit nichts überein, da es keine Wortgrenze gibt.
Die folgenden sind einige Metazeichen\bbeispiele:
- Regulärer Ausdruck
\bword\bStimmt mit dem ganzen Wort "word" überein, aber nicht mit "words" oder "sword". - Regulärer Ausdruck
\b\d+\bStimmt mit einer vollständigen Zahl überein, z. B. "123", aber nicht mit "abc123". - Regulärer Ausdruck
\b[A-Z]+\bStimmt mit einem vollständigen Wort in Großbuchstaben überein, z. B. "HELLO", aber nicht mit "hello".
Es ist zu beachten, dass\beine Nullbreiten-Assertion ist. Sie stimmt nicht mit tatsächlichen Zeichen überein, sondern nur mit Positionen. Wenn Sie also ein tatsächliches Zeichen abgleichen möchten, verwenden Sie nicht\b, sondern andere Zeichen oder Zeichenkombinationen.
Beispiele
var patternWord = /\bword\b/;
var textWord = 'This is a word in a sentence.';
if (patternWord.test(textWord)) {
document.write('Passendes Wort gefunden:', patternWord.exec(textWord)[0]);
} else {
document.write('Kein passender Inhalt gefunden!');
}
Ausprobieren »
Nicht-Wort-Grenze \B
In regulären Ausdrücken,\BJa\bist das entgegengesetzte Symbol, das eine Nicht-Wortgrenze darstellt, d. h. Positionen abgleicht, die nicht an Wortgrenzen liegen.
Genauer gesagt,\Bes stimmt mit einer der folgenden Situationen überein:
- Innerhalb eines Wortes: wenn
\Bes erscheint zwischen zwei aufeinanderfolgenden Buchstaben oder Ziffern, es stimmt mit der Position zwischen diesen beiden Zeichen überein, was anzeigt, dass sie keine Wortgrenzen sind. - Nicht am Anfang oder Ende eines Wortes: wenn
\BWenn es vor oder nach einem Buchstaben oder einer Ziffer erscheint, stimmt es mit dieser Position überein, was anzeigt, dass es weder der Anfang noch das Ende eines Wortes ist.
Die folgenden sind einige Metazeichen\Bbeispiele:
- Regulärer Ausdruck
\Bword\BEntspricht "word" in "sword1", aber nicht "password" oder "words". - Regulärer Ausdruck
\B\d+\BEntspricht "123" in "abc123def", aber nicht "123" oder "abc123". - Regulärer Ausdruck
\B[A-Z]+\BEntspricht "ELL" und "ORL" in "HELLO WORLD", aber nicht "HELLO" oder "WORLD".
Es sollte beachtet werden, dass es im Gegensatz zu\b,\Bebenfalls eine Zero-Width-Assertion ist, die nur auf Positionen und nicht auf tatsächliche Zeichen passt.
Beispiele
var patternWord = /\Bword\B/;
// Dieses hier stimmt überein
var textWord = 'This is a password123 in a sentence.';
// Dieses hier stimmt nicht überein
//var textWord = 'This is a password in a sentence.';
if (patternWord.test(textWord)) {
document.write('Passendes Wort gefunden:', patternWord.exec(textWord)[0]);
} else {
document.write('Kein passender Inhalt gefunden!');
}
Ausprobieren »