Regex-Spickzettel

JavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen

Normale Zeichen

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
. or [^\n\r]beliebiges Zeichen außer Zeilenvorschub oder Wagenrücklauf
[A-Za-z]Alphabet
[a-z]Kleinbuchstaben
[A-Z]Großbuchstaben
\d or [0-9]Ziffer
\D or [^0-9]Nicht-Ziffer
_Unterstrich
\w or [A-Za-z0-9_]Buchstabe, Ziffer oder Unterstrich
\W or [^A-Za-z0-9_]Inverse von \w
\SInverse von \s

Leerzeichen

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
Leerzeichen
\tTabulator
\nZeilenvorschub
\rWagenrücklauf
\sLeerzeichen, Tabulator, Zeilenvorschub oder Wagenrücklauf

Zeichensatz

Betrachten Sie einen Zeichensatz als ODER-Operation für die einzelnen Zeichen, die zwischen den eckigen Klammern stehen. Verwenden Sie ^ nach der öffnenden [ um den Zeichensatz zu "negieren". Innerhalb eines Zeichensatzes bedeutet . einen wörtlichen Punkt.

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
[xyz]entweder x, y oder z
[^xyz]weder x, noch y noch z
[1-3]entweder 1, 2 oder 3
[^1-3]weder 1, noch 2 noch 3

Zeichen, die Escaping erfordern

Außerhalb eines Zeichensatzes

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
\.Punkt
\^Einfügemarke
\$Dollarzeichen
\|Pipe
\\Rückstrich
\/Vorwärtsstrich
\(öffnende Klammer
\)schließende Klammer
\[öffnende eckige Klammer
\]schließende eckige Klammer
\{öffnende geschweifte Klammer
\}schließende geschweifte Klammer

Innerhalb eines Zeichensatzes

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
\\Rückstrich
\]schließende eckige Klammer

Quantifizierer

Der Quantifizierer steht nach dem zu quantifizierenden Ausdruck.

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
{2}genau 2
{2,}mindestens 2
{2,7}mindestens 2 aber nicht mehr als 7
*0 oder mehr
+1 oder mehr
?genau 0 oder 1

Grenzen

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
^Anfang der Zeichenkette
$Ende der Zeichenkette
\bWortgrenze

Wie Wortgrenzen-Matching funktioniert:

  • Am Anfang der Zeichenkette, wenn das erste Zeichen \w ist
  • Zwischen zwei benachbarten Zeichen innerhalb der Zeichenkette, wenn das erste Zeichen \w und das zweite Zeichen \W ist
  • Am Ende der Zeichenkette, wenn das letzte Zeichen \w ist

Matching

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
foo|barentweder foo oder bar matchen
foo(?=bar)foo matchen, wenn es vor bar steht
foo(?!bar)foo matchen, wenn es nicht vor bar steht
(?<=bar)foofoo matchen, wenn es nach bar steht
(?<!bar)foofoo matchen, wenn es nicht nach bar steht

Gruppierung und Erfassung

Erfassungsgruppen sind nur in den folgenden Methoden relevant: string.match(regexp), string.matchAll(regexp), string.replace(regexp, callback). \N ist eine Rückreferenz auf die N-te Erfassungsgruppe. Erfassungsgruppen werden ab 1 nummeriert.

AusdruckJavaScript Regular Expression Spickzettel mit allen gängigen Regex-Syntaxen und Beispielen
(foo)Erfassungsgruppe; foo matchen und erfassen
(?:foo)Nicht-erfassende Gruppe; foo matchen aber ohne foo zu erfassen
(foo)bar\1\1 ist eine Rückreferenz auf die 1. Erfassungsgruppe; foobarfoo matchen

Komplexe Beispiele

E-Mail-Validierung

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Validiert Standard-E-Mail-Adressformat, unterstützt mehrere Domains und Subdomains

Matches: user@example.com, test.email+tag@domain.co.uk
Kein Match: invalid.email, @domain.com, user@

Telefonnummer

^(\+?1[-.\s]?)?\(?([0-9]{3})\)?[-.\s]?([0-9]{3})[-.\s]?([0-9]{4})$

Passt US-Telefonnummernformat mit verschiedenen Trennzeichen und optionaler Ländervorwahl

Matches: (555) 123-4567, +1-555-123-4567, 555.123.4567
Kein Match: 123-456, 555-123-45678

Passwort-Stärke

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Erfordert mindestens 8 Zeichen mit Groß-, Kleinbuchstaben, Ziffern und Sonderzeichen

Matches: MyPass123!, SecureP@ss1
Kein Match: password, 12345678, MyPassword

URL-Extraktion

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

Passt HTTP/HTTPS-URLs mit Subdomains, Pfaden und Abfrageparametern

Matches: https://www.example.com, http://sub.domain.org/path
Kein Match: example.com, ftp://server.com

Datumsformat

^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$

Passt MM/TT/JJJJ-Datumsformat mit Monats- und Tagesvalidierung

Matches: 12/25/2023, 01/01/2024, 06/15/2023
Kein Match: 13/25/2023, 1/1/2023, 2023-12-25

Kreditkarte

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3[0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$

Validiert Hauptkreditkartenmarkenformate (Visa, MasterCard, Amex, etc.)

Matches: 4111111111111111, 5555555555554444
Kein Match: 1234567890123456, 411111111111111

Referenzen und Tools

Online-Tools

Dokumentation