Grundkonzepte
Ein regulärer Ausdruck ist ein Textmuster, das normale Zeichen (z. Das Muster beschreibt einen oder mehrere übereinstimmende Zeichenfolgen bei der Suche nach Text.
Erstens werden mehrere regelmäßige Ausdrucksredakteure empfohlen
Debuggex: https://www.debuggex.com/
Pyregex: http://www.pyregex.com/
Regexper: http://www.regexper.com/
Regelmäßige Ausdrücke sind Such- und String -Ersatzvorgänge. Regelmäßige Ausdrücke werden in Textredakteuren häufig verwendet, z. B. reguläre Ausdrücke werden verwendet, um:
[Kopieren] Überprüfen Sie, ob der Text das angegebene charakteristische Wort enthält
Finden Sie heraus, wo sich passende charakteristische Wörter im Text befinden
Informationen aus Text extrahieren, wie z. B. Substrings von Strings
Text ändern
Hinweis: Regelmäßige Ausdrücke werden normalerweise für zwei Aufgaben verwendet: 1. Überprüfung, 2. Suchen/Ersetzen. Bei Verwendung zur Überprüfung müssen normalerweise ^ und $ vor und nachher hinzugefügt werden, um die gesamte zu überprüfende Zeichenfolge anzupassen. Unabhängig davon, ob diese Einschränkung beim Suchen/Ersetzen hinzufügen soll, hängt von den Suchanforderungen ab. Außerdem ist es auch möglich, /b anstelle von ^ und $ vor und nachher hinzuzufügen. Abgesehen von einigen wenigen werden keine Einschränkungen vor und nach den in dieser Tabelle aufgeführten regulären Ausdrücken hinzugefügt. Bitte umgehen Sie sie nach Bedarf selbst.
Prioritätsreihenfolge
Nach dem Erstellen eines regulären Ausdrucks können Sie wie einen mathematischen Ausdruck bewerten, dh Sie können von links nach rechts und in einer Prioritätsreihenfolge bewerten. Die folgende Tabelle listet die Prioritätsreihenfolge verschiedener regulärer Ausdrucksbetreiber von höchster Priorität auf die niedrigste Priorität auf:
| Operator | beschreiben |
|---|---|
| / | Fluchtsymbol |
| (), (? :), (? =), [] | Zahnspange und Quadratklammern |
| *, +,?, {n}, {n,}, {n, m} | Qualifikation |
| ^, $, /Anymetacharacter | Position und Ordnung |
Erstellen Sie regelmäßige Ausdrücke
Die Methode zur Konstruktion regulärer Ausdrücke entspricht der Methode zur Erstellung mathematischer Ausdrücke. Das heißt, verwenden Sie mehrere Metacharacter und Operatoren, um kleine Ausdrücke zu kombinieren, um größere Ausdrücke zu erzeugen.
Ein regelmäßiger Ausdruck kann durch das Einsetzen verschiedener Komponenten des Expressionsmusters zwischen einem Trennpaar konstruiert werden.
Für JScript ist der Trennzeichen ein Paar Vorwärts -Schrägstriche (/) -Scharns. Zum Beispiel:
/Ausdruck/
Für VBScript wird ein Paar von Zitaten ("") verwendet, um die Grenzen des regulären Ausdrucks zu bestimmen. Zum Beispiel:
Die Codekopie lautet wie folgt:
"Ausdruck"
Siehe ein Beispiel
Die Codekopie lautet wie folgt:
// übereinstimmen, ob das Konto legal ist (beginnend mit Briefen, 5-16 Bytes erlaubt, alphanumerische Unterstriche erlaubt
var re = new regexp ("^[a-za-z] [a-za-z0-9 _] {5,19} $");
if (re.test (aaaa)) {
alarm ("richtiges Format");
}anders{
alert ("Formatfehler");
}
Komponenten regulärer Ausdrücke können ein einzelnes Zeichen, eine Reihe von Zeichen, eine Reihe von Zeichen, eine Auswahl zwischen Zeichen oder eine beliebige Kombination all dieser Komponenten sein.
Häufig verwendete reguläre Ausdrücke
Regelmäßiger Ausdruck, der chinesische Zeichen entspricht: [/u4e00-/u9fa5]
Kommentar: Chinesisch Das Matching Chinese ist wirklich Kopfschmerzen, es ist einfach mit diesem Ausdruck zu tun
Übereinstimmende Doppel-Byte-Zeichen (einschließlich chinesischer Zeichen): [^/x00-/xff]
Kommentar: Es kann verwendet werden, um die Länge einer Zeichenfolge zu berechnen (ein Doppel-Byte-Zeichenlängenmesser 2, ASCII-Zeichenmessgerät 1)
Regulärer Ausdruck, der leere Zeilen entspricht:/n/s*/r
Kommentar: Kann verwendet werden, um leere Zeilen zu löschen
Regelmäßiger Ausdruck, der HTML -Tags entspricht: <(/s*?) [^>]*>.*? <// 1> | <.*? />
Kommentar: Die Online -Version ist zu schade, und die oben genannte kann nur mit dem Teil übereinstimmen, und es ist immer noch machtlos, komplexe verschachtelte Markierungen zu verwenden.
Regulärer Ausdruck, der den Anfängen und die End -Whitespace -Zeichen entspricht: ^/S*|/s*$
Kommentar: Es kann verwendet werden, um Whitespace -Zeichen am Anfang und am Ende der Zeile (einschließlich Leerzeichen, Registerkarten, Seitenunterbrechungen usw.) zu löschen, ein sehr nützlicher Ausdruck
Regulärer Ausdruck, der mit der E-Mail-Adresse entspricht: /w+(-+-+.bl.
Kommentar: Es ist sehr praktisch bei der Überprüfung der Form
Regulärer Ausdrucksanpassungs-URL: [a-za-z]+: // [^/s]*
Kommentar: Die Funktionen der online im Umlauf befindlichen Version sind sehr begrenzt und die oben genannten können im Grunde den Anforderungen erfüllen
Übereinstimmen, ob das Konto legal ist (beginnend mit Briefen, 5-16 Bytes erlaubt, alphanumerische Unterstriche erlaubt): ^[a-za-z] [a-za-z0-9 _] {4,15} $
Kommentar: Es ist sehr praktisch bei der Überprüfung der Form
Übereinstimmen inländische Telefonnummer:/d {3}-/d {8} |/d {4}-/d {7}
Kommentar: Die passenden Formulare sind wie folgt: 0511-4405222 oder 021-87888822
Übereinstimmung Tencent QQ-Nummer: [1-9] [0-9] {4,}
Kommentar: Tencent QQ -Nummer beginnt bei 10.000
Übereinstimmung mit der chinesischen Postleitzahl: [1-9]/d {5} (?!/D)
Kommentar: Chinas Postleitzahl beträgt 6 Ziffern
Übereinstimmung mit ID -Karte: /d {15} | /d {18}
Kommentar: Chinas ID -Karte ist 15 oder 18 Ziffern
Übereinstimmen IP -Adresse: /d+/./d+/./d+/./d+
Kommentar: Es ist nützlich, wenn IP -Adressen extrahiert werden
Übereinstimmen bestimmte Zahlen
[Kopie] ^[1-9]/d*$ // Übereinstimmung mit positiven Ganzzahlen
^-[1-9]/d*$ // stimmen negative Ganzzahlen überein
^-? [1-9]/d*$ // Übereinstimmung mit Ganzzahlen
^[1-9]/d*| 0 $ // Übereinstimmung mit nicht negativen Ganzzahlen (positive Ganzzahl + 0)
^-[1-9]/d*| 0 $ // Übereinstimmung mit nicht positiven Ganzzahlen (negative ganze Zahlen + 0)
^[1-9]/d*/./D*| 0 /./ D*[1-9]/d*$ // Übereinstimmende positive schwimmende Punktzahlen übereinstimmen
^-([1-9]/d*/./D*| 0 /./ D*[1-9]/d*) $ // Übereinstimmung mit den negativen schwimmenden Punktzahlen übereinstimmen
^-? ([1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0) $ // Übereinstimmende schwimmende Punktnummern übereinstimmen
^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0 $ // Übereinstimmende nicht negative schwimmende Punktzahlen (positive schwimmende Punktnummern + 0)
^(-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*)) | 0?/. 0+ | 0 $ // Übereinstimmende nicht-positive schwimmende Punktzahlen (negative Schwimmpunktzahlen + 0) übereinstimmen
Kommentar: Es ist nützlich, wenn große Datenmengen verarbeitet werden, und achten Sie darauf, dass Sie sie im Detail anwenden.
Passen Sie eine bestimmte Zeichenfolge an
[Kopie]^[A-Za-Z]+$ // Stimmen Sie eine Zeichenfolge ab, die aus 26 englischen Buchstaben besteht
^[Az]+$ // Stimmen Sie eine Zeichenfolge ab, die aus 26 englischen Buchstabenkapitalgeräden besteht
^[Az]+$ // Stimmen Sie eine Zeichenfolge ab, die aus 26 englischen Buchstaben in Kleinbuchstaben besteht
^[A-za-z0-9]+$ // stimmen mit einer Zeichenfolge überein, die Zahlen und 26 englische Buchstaben verfasst
^/w+$ // stimmen mit einer Zeichenfolge überein, die Zahlen, 26 englische Buchstaben oder Unterstriche verfasst hat
Kommentar: Einige der grundlegendsten und am häufigsten verwendeten Ausdrücke
Mind Map