Schnellreferenz für reguläre Ausdrücke

Ein regulärer Ausdruck, auch bekannt als Musterausdruck, ist ein Textmuster, das typischerweise zum Durchsuchen, Ersetzen und Steuern von Text verwendet wird. Es umfasst hauptsächlich die Buchstaben a bis z sowie einige spezielle Metazeichen. Die Anwendungsbereiche regulärer Ausdrücke sind sehr vielfältig, ursprünglich wurden sie durch Unix popularisiert und fanden später breite Anwendung in Scala, PHP, C#, Java, C++, Objective-C, Perl, Swift, VBScript, JavaScript, Ruby und Python. Das Lernen von regulären Ausdrücken bedeutet tatsächlich, ein sehr flexibles logisches Denken zu erlernen, um die Kontrolle über Zeichenfolgen auf einfache und schnelle Weise zu erreichen.
Reguläres Zeichen Beschreibung
\ Kennzeichnet das nächste Zeichen als ein Sonderzeichen, oder ein Literalzeichen, oder einen Rückverweis, oder ein oktales Escape-Zeichen. Zum Beispiel: “n" entspricht dem Zeichen "n". "\n" entspricht einem Zeilenumbruch. "\\" entspricht "\" und "\(" entspricht "(".
^ Entspricht dem Anfang der Eingabezeichenfolge. Wenn die Multiline-Eigenschaft des RegExp-Objekts gesetzt ist, entspricht ^ auch der Position nach einem “\n" oder "\r".
$ Entspricht dem Ende der Eingabezeichenfolge. Wenn die Multiline-Eigenschaft des RegExp-Objekts gesetzt ist, entspricht $ auch der Position vor einem “\n" oder "\r".
* Entspricht dem vorherigen Unterausdruck null oder mehrmals. Zum Beispiel kann zo* “z" sowie "zoo" entsprechen. * entspricht {0,}.
+ Entspricht dem vorherigen Unterausdruck einmal oder mehrmals. Zum Beispiel kann “zo+" "zo" sowie "zoo" entsprechen, kann aber nicht "z" entsprechen. + entspricht {1,}.
? Entspricht dem vorherigen Unterausdruck null oder einmal. Zum Beispiel kann “do(es)?" "does" oder "do" in "does" entsprechen. ? entspricht {0,1}.
{n} n ist eine nicht-negative Ganzzahl. Entspricht genau n Mal. Zum Beispiel kann “o{2}" nicht dem "o" in "Bob" entsprechen, kann jedoch dem zwei o in "food" entsprechen.
{n,} n ist eine nicht-negative Ganzzahl. Entspricht mindestens n Mal. Zum Beispiel kann “o{2,}" nicht dem "o" in "Bob" entsprechen, kann jedoch allen o in "foooood" entsprechen. "o{1,}" entspricht "o+". "o{0,}" entspricht "o*".
{n,m} m und n sind beide nicht-negative Ganzzahlen, wobei n<=m. Entspricht mindestens n Mal und höchstens m Mal. Zum Beispiel wird “o{1,3}" die ersten drei o in "fooooood" entsprechen. "o{0,1}" entspricht "o?". Beachten Sie, dass zwischen dem Komma und den beiden Zahlen kein Leerzeichen stehen darf.
? Wenn dieses Zeichen unmittelbar nach einem anderen Quantifizierer (*, +, ?, {n}, {n,}, {n,m}) steht, wird der Modus nicht-gierig. Der nicht-gierige Modus versucht, so wenig wie möglich zu übereinstimmen, während der standardmäßige gierige Modus so viel wie möglich übereinstimmt. Zum Beispiel wird für die Zeichenfolge “oooo" wird "o+?" einem einzelnen "o" entsprechen, während "o+" allen "o" entsprechen wird.
. Entspricht jedem einzelnen Zeichen, außer “\n". Um ein beliebiges Zeichen einschließlich "\n" zu übereinstimmen, verwenden Sie ein Muster wie "(.|\n)".
(pattern) Entspricht dem pattern und erfasst dieses Übereinstimmung. Das erfasste Muster kann aus der erzeugten Matches-Sammlung abgerufen werden, und in VBScript wird die SubMatches-Sammlung verwendet, während in JScript die $0…$9 Eigenschaften verwendet werden. Um das Zeichen der runden Klammer zu entsprechen, verwenden Sie “\(" oder "\)".
(?:pattern) Entspricht dem pattern, erfasst jedoch das Übereinstimmungsergebnis nicht. Das ist, es ist eine nicht-erfassende Übereinstimmung, die nicht für die zukünftige Verwendung gespeichert wird. Dies ist nützlich, wenn Sie den oder-Zeichen “(|)" verwenden, um die verschiedenen Teile eines Musters zu kombinieren. Beispielsweise ist "industr(?:y|ies)" ein prägnanterer Ausdruck als "industry|industries".
(?=pattern) Positives Lookahead, das an jedem Anfang einer Zeichenfolge, die das pattern übereinstimmt, nach dem Suchmuster übereinstimmt. Das ist eine nicht-erfassende Übereinstimmung, so dass diese Übereinstimmung nicht für die zukünftige Verwendung erfasst werden muss. Zum Beispiel kann “Windows(?=95|98|NT|2000)" übereinstimmend mit "Windows" in "Windows2000", jedoch nicht mit "Windows" in "Windows3.1". Das Lookahead verbraucht keine Zeichen, das heißt, nach dem Auftreten einer Übereinstimmung sofort nach der letzten gefundenen Übereinstimmung, wird die Suche nach der nächsten Übereinstimmung begonnen, nicht von den Zeichen nach dem Lookahead.
(?!pattern) Negatives Lookahead, das an jedem Anfang einer Zeichenfolge, die nicht dem pattern entspricht, nach dem Suchmuster übereinstimmt. Das ist eine nicht-erfassende Übereinstimmung, so dass diese Übereinstimmung nicht für die zukünftige Verwendung erfasst werden muss. Zum Beispiel kann “Windows(?!95|98|NT|2000)" übereinstimmt mit "Windows" in "Windows3.1", jedoch nicht mit "Windows" in "Windows2000". Das Lookahead verbraucht keine Zeichen, das heißt, nach dem Auftreten einer Übereinstimmung sofort nach der letzten gefundenen Übereinstimmung, wird die Suche nach der nächsten Übereinstimmung begonnen, nicht von den Zeichen nach dem Lookahead.
(?<=pattern) Positives Lookbehind, ähnlich wie positives Lookahead, aber in umgekehrter Richtung. Zum Beispiel kann “(?<=95|98|NT|2000)Windows" übereinstimmen mit "Windows" in "2000Windows", jedoch nicht mit "Windows" in "3.1Windows".
(?<!pattern) Negatives Lookbehind, ähnlich wie negatives Lookahead, aber in umgekehrter Richtung. Zum Beispiel kann “(?<!95|98|NT|2000)Windows" übereinstimmen mit "3.1Windows", jedoch nicht mit "2000Windows".
x|y Entspricht x oder y. Zum Beispiel kann “z|food" übereinstimmen mit "z" oder "food". "(z|f)ood" entspricht "zood" oder "food".
[xyz] Buchstabenset. Entspricht einem der im Set enthaltenen Zeichen. Zum Beispiel kann “[abc]" das "a" in "plain" entsprechen.
[^xyz] Negatives Buchstabenset. Entspricht einem Zeichen, das nicht im Set enthalten ist. Zum Beispiel kann “[^abc]" das "p" in "plain" entsprechen.
[a-z] Buchstabenbereich. Entspricht einem beliebigen Zeichen im angegebenen Bereich. Zum Beispiel kann “[a-z]" einem beliebigen Kleinbuchstaben zwischen "a" und "z" entsprechen.
[^a-z] Negativer Buchstabenbereich. Entspricht beliebigem Zeichen, das nicht im angegebenen Bereich enthalten ist. Zum Beispiel kann “[^a-z]" übereinstimmen mit jedem Zeichen, das nicht zwischen "a" und "z" liegt.
\b Entspricht einer Wortgrenze, also dem Ort zwischen einem Wort und einem Leerzeichen. Zum Beispiel kann “er\b" das "er" in "never" entsprechen, jedoch nicht das "er" in "verb".
\B Entspricht einer Nicht-Wortgrenze. “er\B" kann das "er" in "verb" entsprechen, jedoch nicht das "er" in "never".
\cx Entspricht dem Steuerzeichen, das durch x angegeben ist. Zum Beispiel entspricht \cM einem Steuerzeichen M oder einem Zeilenumbruch. Der Wert von x muss eines der Zeichen A-Z oder a-z sein. Andernfalls wird c als ein Literalzeichen "“c" betrachtet.
\d Entspricht einer Ziffer. Entspricht [0-9].
\D Entspricht einem Nicht-Ziffernzeichen. Entspricht [^0-9].
\f Entspricht einem Seitenumbruch. Entspricht \x0c und \cL.
\n Entspricht einem Zeilenumbruch. Entspricht \x0a und \cJ.
\r Entspricht einem Wagenrücklauf. Entspricht \x0d und \cM.
\s Entspricht beliebigem Leerzeichen, einschließlich Leerzeichen, Tabulatoren, Seitenumbrüchen usw. Entspricht [ \f\n\r\t\v].
\S Entspricht beliebigem Nicht-Leerzeichen. Entspricht [^ \f\n\r\t\v].
\t Entspricht einem Tabulator. Entspricht \x09 und \cI.
\v Entspricht einem vertikalen Tabulator. Entspricht \x0b und \cK.
\w Entspricht beliebigem Wortzeichen, einschließlich Unterstrich. Entspricht “[A-Za-z0-9_]".
\W Entspricht beliebigem Nicht-Wortzeichen. Entspricht “[^A-Za-z0-9_]".
\xn Entspricht n, wobei n einen hexadezimalen Escape-Wert darstellt. Hexadezimale Escape-Werte müssen genau zwei Ziffern lang sein. Zum Beispiel entspricht “\x41" "A". "\x041" entspricht "\x04&1". In regulären Ausdrücken kann ASCII-Codierung verwendet werden.
\num Entspricht num, wobei num eine positive Ganzzahl ist. Verweist auf das erfasste Muster. Zum Beispiel “(.)\1" entspricht zwei aufeinanderfolgenden gleichen Zeichen.
\n Kennzeichnet einen oktalen Escape-Wert oder einen Rückverweis. Wenn \n zuvor mindestens n erfasste Unterausdrücke hat, ist n ein Rückverweis. Andernfalls, wenn n eine oktale Ziffer (0-7) ist, dann ist n ein oktaler Escape-Wert.
\nm Kennzeichnet einen oktalen Escape-Wert oder einen Rückverweis. Wenn \nm zuvor mindestens nm erfasste Unterausdrücke hat, dann ist nm ein Rückverweis. Wenn \nm zuvor mindestens n erfasste hat, dann ist n ein Rückverweis, gefolgt von Literalzeichen m. Wenn keine der oben genannten Bedingungen erfüllt ist und sowohl n als auch m oktale Ziffern (0-7) sind, dann wird \nm einem oktalen Escape-Wert nm entsprechen.
\nml Wenn n eine oktale Ziffer (0-3) ist und sowohl m und l ebenfalls oktale Ziffern (0-7) sind, entspricht das dem oktalen Escape-Wert nml.
\un Entspricht n, wobei n ein Unicode-Zeichen ist, das durch vier hexadezimale Ziffern dargestellt wird. Zum Beispiel, \u00A9 entspricht dem Copyright-Symbol (©).
Häufig verwendete reguläre Ausdrücke
Benutzername /^[a-z0-9_-]{3,16}$/
Passwort /^[a-z0-9_-]{6,18}$/
Passwort2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (bestehend aus Zahlen/Großbuchstaben/Kleinbuchstaben/Sonderzeichen, alle vier müssen vorhanden sein, mindestens 8 Zeichen)
Hexadezimalwert /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
E-Mail /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ oder \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ oder [a-zA-z]+://[^\s]*
IP Adresse /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ oder ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
HTML Tags /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ oder <(.*)(.*)>.*<\/\1>|<(.*) \/>
Entfernen von Kommentaren (?<!http:|\S)//.*$
Übereinstimmung mit doppelbytes Zeichen (einschließlich chinesischer Zeichen) [^\x00-\xff]
Chinesische Zeichen (Charaktere) [\u4e00-\u9fa5]
Bereich der chinesischen Zeichen in Unicode-Codierung /^[\u2E80-\u9FFF]+$/
Chinesische und vollbreite Satzzeichen (Charaktere) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Datum (Jahr-Monat-Tag) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
Datum (Monat/Tag/Jahr) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
Zeit (Stunde:Minute, 24-Stunden-Format) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Festnetznummer in Festlandchina (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Mobilnummer in Festlandchina 1\d{10}
Postleitzahl in Festlandchina [1-9]\d{5}
Personalausweisnummer in Festlandchina (15 oder 18 Ziffern) \d{15}(\d\d[0-9xX])?
Nicht-negative ganze Zahl (positive ganze Zahl oder null) \d+
Positive ganze Zahl [0-9]*[1-9][0-9]*
Negative ganze Zahl -[0-9]*[1-9][0-9]*
Ganze Zahl -?\d+
Dezimalzahl (-?\d+)(\.\d+)?
Leere Zeilen \n\s*\r oder \n\n(editplus) oder ^[\s\S ]*\n
QQ-Nummer [1-9]\d{4,}
Wörter ohne abc \b((?!abc)\w)+\b
Übereinstimmung mit Anfangs- und Endzeichen ^\s*|\s*$
Bearbeiten häufig verwendet
Hier sind einige Ersetzungen für spezielle Chinesisch (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV>

Schnellreferenz für reguläre Ausdrucksyntax - Häufig verwendete reguläre Ausdrücke Techniken und Syntax

Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug zur Textverarbeitung. Diese Seite bietet Ihnen eine Schnellreferenz für reguläre Ausdrucksyntax, die Ihnen hilft, die grundlegende Syntax, Modifizierer, Unterausdrücke, gierige und nicht-gierige Modi usw. schnell zu verstehen.

Grundlegende Syntax der regulären Ausdrücke

Reguläre Ausdrücke werden verwendet, um Regeln für Zeichenfolgenmuster zu beschreiben. Die häufigsten grundlegenden Syntaxelemente umfassen:

Häufig verwendete Modifizierer für reguläre Ausdrücke

Modifizierer für reguläre Ausdrücke ändern die Übereinstimmungsregeln der regulären Ausdrücke. Häufig verwendete Modifizierer sind:

Gieriger und nicht-gieriger Modus

In regulären Ausdrücken sind Quantifizierer standardmäßig gierig, sie versuchen, so viele Zeichen wie möglich zu übereinstimmen. Der nicht-gierige Modus kann verwendet werden, indem ? hinter dem Quantifizierer hinzugefügt wird. Beispiele sind:

Unterausdrücke und Gruppierung

Unterausdrücke in regulären Ausdrücken werden mit Klammern (()) definiert und dienen häufig dazu, Übereinstimmungen auszulesen. Gruppen werden durch das Zeichen “|” erreicht. Beispiele sind:

Schnelle Abfrage für reguläre Ausdrücke

Hier ist eine schnelle Abfrage für häufig verwendete reguläre Ausdrücke:

Funktion Regulärer Ausdruck
Übereinstimmung mit Ziffer \d
Übereinstimmung mit Nicht-Ziffer \D
Übereinstimmung mit Buchstaben [a-zA-Z]
Übereinstimmung mit beliebigem Zeichen .
Übereinstimmung mit Leerzeichen \s

Anwendungsgebiete regulärer Ausdrücke

Reguläre Ausdrücke finden breite Anwendung in den folgenden Szenarien:

Tipps zum Lernen regulärer Ausdrücke

Verwenden Sie jetzt unsere Schnellreferenz für reguläre Ausdrucksyntax, um Ihnen das Schreiben von regulären Ausdrücken effizienter zu gestalten und Ihre Textverarbeitungsfähigkeiten zu verbessern!

Ihr Verlauf:
Wählen Sie die Sprache