| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Zeichenklassen unterscheiden Arten von Zeichen, wie zum Beispiel die Unterscheidung zwischen Buchstaben und Ziffern.
const chessStory = "He played the King in a8 and she moved her Queen in c2.";
const regexpCoordinates = /\w\d/g;
console.log(chessStory.match(regexpCoordinates));
// Expected output: Array [ 'a8', 'c2']
const moods = "happy , confused , sad ";
const regexpEmoticons = /[\u{1F600}-\u{1F64F}]/gu;
console.log(moods.match(regexpEmoticons));
// Expected output: Array ['', '', '']
| Zeichen | Bedeutung |
|---|---|
[xyz]
|
Zeichenklasse: Entspricht einem der eingeschlossenen Zeichen. Sie knnen einen Zeichenbereich mit einem Bindestrich angeben, aber wenn der Bindestrich als erstes oder letztes Zeichen in den eckigen Klammern erscheint, wird er als wrtlicher Bindestrich angesehen, der in die Zeichenklasse aufgenommen werden soll, als normales Zeichen.
Zum Beispiel ist
Zum Beispiel finden
Ein weiteres Beispiel:
Wenn das |
|
|
Negierte Zeichenklasse:
Entspricht allem, was nicht in den eckigen Klammern eingeschlossen ist. Sie knnen einen Zeichenbereich
mit einem Bindestrich angeben, aber wenn der Bindestrich als erstes Zeichen nach dem Hinweis: Das ^ Zeichen kann auch den Anfang der Eingabe kennzeichnen. |
. |
Wildcard:
Entspricht jedem einzelnen Zeichen auer Zeilenendzeichen:
|
\d |
Zifferzeichenklassen-Escape:
Entspricht jeder Ziffer (arabische Zahl). quivalent zu |
\D |
Nicht-Ziffer-Zeichenklassen-Escape:
Entspricht jedem Zeichen, das keine Ziffer ist (arabische Zahl). quivalent
zu |
\w |
Wortzeichenklassen-Escape:
Entspricht jedem alphanumerischen Zeichen aus dem lateinischen Alphabet,
einschlielich des Unterstrichs. quivalent zu |
\W |
Nicht-Wortzeichenklassen-Escape:
Entspricht jedem Zeichen, das kein Wortzeichen aus dem lateinischen
Alphabet ist. quivalent zu |
\s |
Leerzeichen-Zeichenklassen-Escape:
Entspricht einem einzelnen Leerzeichenzeichen, einschlielich Leerzeichen, Tabulator, Formfeed, Zeilenumbruch und andere Unicode-Leerzeichen. quivalent zu
|
\S |
Nicht-Leerzeichen-Zeichenklassen-Escape:
Entspricht einem einzelnen Zeichen, das kein Leerzeichen ist. quivalent zu
|
\t |
Entspricht einem horizontalen Tabulator. |
\r |
Entspricht einem Wagenrcklauf. |
\n |
Entspricht einem Zeilenumbruch. |
\v |
Entspricht einem vertikalen Tabulator. |
\f |
Entspricht einem Papier-Vormal. |
[\b] |
Entspricht einem Rckschritt. Wenn Sie nach der Wortgrenzenbesttigung
(\b) suchen, sehen Sie
Besttigungen.
|
\0 |
Entspricht einem NUL-Zeichen. Folgen Sie nicht mit einer weiteren Ziffer darauf. |
\cX
|
Entspricht einem Steuerzeichen unter Verwendung
Caret-Notation, wobei X ein Buchstabe von AZ oder az ist (entsprechend den Codepunkten
|
\xhh
|
Hex-Escape:
Entspricht dem Zeichen mit dem Code hh (zwei
hexadezimale Ziffern).
|
\uHHHH
|
Unicode-Escape:
Entspricht einer UTF-16-Codeeinheit mit dem Wert
HHHH (vier hexadezimale Ziffern).
|
\u{HH}
|
Unicode-Codepunkt-Escape:
(Nur wenn das u-Flag gesetzt ist.) Entspricht dem Zeichen mit
dem Unicode-Wert U+HH (1 bis 6 hexadezimale Ziffern).
|
\p{UnicodeProperty},
\P{UnicodeProperty}
|
Unicode-Zeichenklassen-Escape: Entspricht einem Zeichen basierend auf seinen Unicode-Zeichen-Eigenschaften: zum Beispiel Emoji-Zeichen, oder japanische Katakana-Zeichen, oder chinesische/japanische Han/Kanji-Zeichen, usw.). |
\ |
Deutet an, dass das folgende Zeichen speziell behandelt oder "escaped" werden soll. Es verhlt sich auf eine von zwei Arten.
Hinweis: Um dieses Zeichen wrtlich zu erfassen, "escapen" Sie es mit sich selbst. Um nach |
x|y
|
Disjunktion:
Entspricht entweder x oder y. Jede Komponente, getrennt durch eine Pipe (
Hinweis: Eine Disjunktion ist eine andere Mglichkeit, "eine Menge von Auswahlmglichkeiten" zu spezifizieren, aber es ist keine Zeichenklasse. Disjunktionen sind keine Atome Sie mssen eine Gruppe verwenden, um sie zu einem greren Muster zu machen. |
In diesem Beispiel suchen wir nach einer Sequenz von 4 Ziffern mit \d{4}. \b steht fr eine Wortgrenze (d.h. fangen Sie nicht in der Mitte einer Zahlenreihe an oder hren Sie dort auf zu passen).
const randomData = "015 354 8787 687351 3512 8735";
const regexpFourDigits = /\b\d{4}\b/g;
console.table(randomData.match(regexpFourDigits));
// ['8787', '3512', '8735']
Weitere Beispiele finden Sie in der Zeichenklassen-Escape Referenz.
In diesem Beispiel suchen wir ein Wort, das mit dem Buchstaben A beginnt. \b steht fr eine Wortgrenze (d.h. fangen Sie nicht in der Mitte eines Wortes an zu passen). [aA] steht fr den Buchstaben a oder A. \w+ steht fr jedes Zeichen aus dem lateinischen Alphabet, mehrere Male (+ ist ein Quantifizierer). Da wir bereits so lange bereinstimmen, bis keine weiteren Wortzeichen mehr vorhanden sind, ist keine abschlieende \b-Grenze erforderlich.
const aliceExcerpt =
"I'm sure I'm not Ada,' she said, 'for her hair goes in such long ringlets, and mine doesn't go in ringlets at all.";
const regexpWordStartingWithA = /\b[aA]\w+/g;
console.table(aliceExcerpt.match(regexpWordStartingWithA));
// ['Ada', 'and', 'at', 'all']
Weitere Beispiele finden Sie in der Zeichenklassen-Escape Referenz.
Statt des lateinischen Alphabets knnen wir einen Bereich von Unicode-Zeichen verwenden, um ein Wort zu identifizieren (und so mit Texten in anderen Sprachen wie Russisch oder Arabisch umgehen knnen). Die Basic Multilingual Plane von Unicode enthlt die meisten der weltweit verwendeten Zeichen und wir knnen Zeichenklassen und -bereiche verwenden, um Wrter zu finden, die mit diesen Zeichen geschrieben sind.
const nonEnglishText = " ";
const regexpBMPWord = /([\u0000-\u0019\u0021-\uFFFF])+/gu;
// BMP goes through U+0000 to U+FFFF but space is U+0020
console.table(nonEnglishText.match(regexpBMPWord));
["", "", "", "", ""];
Weitere Beispiele finden Sie in der Unicode-Zeichenklassen-Escape Referenz.
In diesem Beispiel zhlen wir die Anzahl der Vokale (A, E, I, O, U, Y) in einem Text. Das g-Flag wird verwendet, um alle Vorkommen des Musters im Text zu finden. Das i-Flag wird verwendet, um das Muster nicht zu beachten und so sowohl Gro- als auch Kleinbuchstaben der Vokale zu finden.
const aliceExcerpt =
"There was a long silence after this, and Alice could only hear whispers now and then.";
const regexpVowels = /[aeiouy]/gi;
console.log("Number of vowels:", aliceExcerpt.match(regexpVowels).length);
// Number of vowels: 26
RegExp[...], [^...]\d, \D, \w, \W, \s, \S\n, \u{...}|\p{...}, \P{...}.Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |