Heim > Web-Frontend > js-Tutorial > Die Bedeutung und Verwendung regulärer Ausdrücke in JavaScript

Die Bedeutung und Verwendung regulärer Ausdrücke in JavaScript

黄舟
Freigeben: 2017-11-09 16:52:04
Original
1944 Leute haben es durchsucht

Ich glaube, viele Menschen kennen reguläre Ausdrücke, aber der erste Eindruck vieler Menschen ist, dass es schwierig ist, es zu lernen, weil sie auf den ersten Blick das Gefühl haben, dass es überhaupt kein Muster gibt und alles eins ist Viele verschiedene Sonderzeichen aller Art sind völlig unverständlich. Tatsächlich sind reguläre Ausdrücke gar nicht so schwierig, wie Sie denken. Heute bringen wir Sie dazu, reguläre Ausdrücke in JavaScript schnell zu verstehen!

1. Was ist ein regulärer Ausdruck?

Regulärer Ausdruck ist eine besondere Zeichenfolge Das Muster wird verwendet, um eine Reihe von Zeichenfolgen abzugleichen. Dies ähnelt der Verwendung einer Form zur Herstellung eines Produkts. Regelmäßige Regeln sind diese Form, die eine Regel definiert, um Zeichen zuzuordnen, die den Regeln entsprechen.

Regulärer Ausdruck (regulärer Ausdruck) beschreibt ein String-Matching-Muster (Muster), mit dem überprüft werden kann, ob ein String einen bestimmten Teilstring enthält, der passende Teilstring ersetzt oder aus einem bestimmten String ausgewählt werden kann bestimmte Bedingungen erfüllen usw.

Um es ganz klar auszudrücken: reguläre Ausdrücke werden zum Verarbeiten von Zeichenfolgen verwendet. Wir können damit einige komplexe Zeichenfolgen verarbeiten.

2. Regeln für reguläre Ausdrücke

1.1 Gewöhnliche Zeichen

Buchstaben, Zahlen, chinesische Schriftzeichen, Unterstriche und Satzzeichen, die in den folgenden Kapiteln nicht speziell definiert werden, sind alle „gewöhnliche Zeichen“. Gewöhnliche Zeichen in einem Ausdruck stimmen beim Abgleich mit einer Zeichenfolge mit demselben Zeichen überein.

Beispiel 1: Der Ausdruck „c“ lautet beim Abgleichen der Zeichenfolge „abcde“: Erfolg; der abgeglichene Inhalt lautet: „c“; die abgeglichene Position lautet: beginnend bei 2, beendet um 3. (Hinweis: Ob der Index bei 0 oder 1 beginnt, kann je nach aktueller Programmiersprache unterschiedlich sein)

Beispiel 2: Der Ausdruck „bcd“ entspricht der Zeichenfolge „abcde“, dem Matching Ergebnis ist: Erfolg; der übereinstimmende Inhalt ist: „bcd“; die übereinstimmende Position ist: beginnend bei 1 und endend bei 4.

3. Sonderzeichen in regulären Ausdrücken

Zeichenbedeutung

wird als Bedeutungsänderung verwendet, das heißt, die Zeichen nach „“ werden normalerweise nicht entsprechend der ursprünglichen Bedeutung interpretiert. Beispielsweise entspricht /b/ dem Zeichen „b“, wenn ein Backslash davor eingefügt wird b, /b/ bedeutet, dass es mit den Wortgrenzen übereinstimmt.
-oder-
Wiederherstellung von regulären Ausdrucksfunktionszeichen, wie z. B. „*“, das 0 oder öfter mit dem Metazeichen davor übereinstimmt, /a*/ stimmt mit a, aa, aaa überein, nach dem Hinzufügen von „“ , /a */ stimmt nur mit „a*“ überein.

^ stimmt mit einer Eingabe oder dem Anfang einer Zeile überein, /^a/ stimmt mit „an A“ überein, stimmt aber nicht mit „An a“ überein
$ stimmt mit einer Eingabe oder dem Ende einer Zeile überein, / a$/ stimmt mit „An a“ überein, stimmt nicht mit „an A“ überein
* stimmt mit dem vorhergehenden Metazeichen 0 oder öfter überein, /ba*/ stimmt mit b,ba,baa,baaa überein
+ stimmt mit dem vorhergehenden Metazeichen 1 überein oder mehrmals, /ba*/ wird mit ba,baa,baaa
übereinstimmen? Stimmt 0 oder 1 Mal mit dem vorhergehenden Metazeichen überein, /ba*/ wird mit b,ba
(x) übereinstimmen. x abgleichen und x speichern eine Datei mit dem Namen $1 ... In der Variablen $9 entspricht
x|y x oder y,
{n} entspricht genau n Mal
{n,} entspricht n oder öfter
{n ,m} stimmt n-m-mal überein
[xyz] Zeichensatz, stimmt mit jedem Zeichen (oder Metazeichen) in diesem Satz überein
[^xyz] stimmt mit keinem Zeichen in diesem Satz überein
[b] stimmt mit einem Backspace-Zeichen überein
b entspricht einer Wortgrenze
B entspricht einer Nicht-Wortgrenze
cX Hier ist X ein Steuerzeichen, /cM/ entspricht Strg-M
d entspricht einem alphanumerischen Zeichen, /d/ = /[0-9]/
D entspricht einem nicht alphanumerischen Zeichen, /D/ = /[^0-9]/
n entspricht einem Zeilenumbruchzeichen
r entspricht einem Wagenrücklauf Das Symbol
s entspricht einem Leerzeichen, einschließlich n, r, f, t, v usw.
S entspricht einem Nicht-Leerzeichen, gleich /[^nfrtv]/
t entspricht einem Tabulatorzeichen
v entspricht einem doppelten Tabulatorzeichen.
w entspricht einem Zeichen, das ein Wort bilden kann (alphanumerisch, dies ist meine freie Übersetzung, einschließlich Zahlen), einschließlich Unterstrichen. Beispielsweise entspricht [w] der 5 in „$5,98“. gleich [a -zA-Z0-9]
W entspricht einem Zeichen, das kein Wort bilden kann. Beispielsweise entspricht [W] dem $ in „$5,98“, was gleich [^a-zA-Z0- ist. 9].

4. Grundlegende Syntax regulärer Ausdrücke

Zwei Sonderzeichen '^' und ' $' . Ihre Funktion besteht darin, den Anfang bzw. das Ende einer Zeichenfolge anzuzeigen.

Beispiele sind wie folgt:

"^The": stellt alle Zeichenfolgen dar, die mit "The" beginnen ("There", "The cat" usw.);

„of despair$“: stellt eine Zeichenfolge dar, die mit „of despair“ endet;

“^abc$“: stellt eine Zeichenfolge dar, die mit „abc“ beginnt und endet – haha, es gibt nur „abc“ selbst ;

"notice": Stellt eine beliebige Zeichenfolge dar, die „notice“ enthält.

Wenn Sie wie im letzten Beispiel keine zwei Sonderzeichen verwenden, geben Sie an, dass die gesuchte Zeichenfolge ein Teil der gesuchten Zeichenfolge ist – Sie
positionieren sie nicht oben eines bestimmten.

Andere Symbole sind „*“, „+“ und „?“, die angeben, wie oft ein Zeichen oder eine Zeichenfolge wiederholt vorkommt.

Sie bedeuten jeweils „keine oder mehr“, „einmal oder mehr“ und „keine oder einmal“.

Hier ein paar Beispiele:

"ab*": Zeigt an, dass eine Zeichenfolge ein a gefolgt von null oder mehreren b enthält. ("a", "ab", "abbb",...);

"ab+": Zeigt an, dass auf eine Zeichenfolge mindestens ein b oder mehr folgt „ab?“: Gibt an, dass eine Zeichenfolge ein a gefolgt von null oder einem b hat;

„a?b+$“: Zeigt an, dass am Ende null oder ein a gefolgt von einem oder mehreren b steht die Zeichenfolge.

Sie können auch Bereiche in geschweiften Klammern verwenden, um den Wiederholungsbereich anzugeben.

"ab{2}": Zeigt an, dass eine Zeichenfolge ein a gefolgt von 2 b ("abb") hat.

"ab{2,}": Zeigt an, dass eine Zeichenfolge ein a hat a gefolgt von mindestens 2 b;

"ab{3,5}": Zeigt an, dass auf eine Zeichenfolge ein a gefolgt von 3 bis 5 b folgt.

Bitte beachten Sie, dass Sie die untere Grenze des Bereichs angeben müssen (z. B.: „{0,2}“ statt „{,2}“).

Außerdem ist Ihnen vielleicht aufgefallen, dass „*“, „+“ und „?“ äquivalent zu „{0,}“, „{1,}“ und „{0,1}“ sind.

Es gibt auch eine „¦“, die „oder“-Operation bedeutet:

„hi¦hello“: bedeutet, dass in einer Zeichenfolge „hi“ oder „hello“ steht;

"(b¦cd)ef": bedeutet "bef" oder "cdef";

"(a¦b)*c": bedeutet eine Zeichenfolge aus gemischten Zeichenfolgen aus "a" und "b". " gefolgt von einem „c“;

'.' kann jedes Zeichen ersetzen:

"a.[0-9]": gibt an, dass eine Zeichenfolge ein „a“ gefolgt von einem hat beliebiges Zeichen und eine Zahl;

"^.{3}$": stellt eine Zeichenfolge aus drei beliebigen Zeichen dar (Länge beträgt 3 Zeichen);

Eckige Klammern geben an, dass bestimmte Zeichen an einer bestimmten Position in einer Zeichenfolge erscheinen dürfen:

„[ab]“: gibt an, dass eine Zeichenfolge ein „a“ oder „b“ hat (entspricht „ a¦b");

"[a-d]": Zeigt an, dass eine Zeichenfolge einen der Kleinbuchstaben 'a' bis 'd' enthält (entspricht "a¦b¦c¦d" oder " [abcd] ");

"^[a-zA-Z]": stellt eine Zeichenfolge dar, die mit einem Buchstaben beginnt;

"[0-9]%": stellt eine Hunderter dar. Es gibt eine Ziffer vor dem Semikolon;

",[a-zA-Z0-9]$": zeigt an, dass eine Zeichenfolge mit einem Komma gefolgt von einem Buchstaben oder einer Zahl endet.

Sie können auch „^“ in eckigen Klammern verwenden, um anzugeben, dass unerwünschte Zeichen „^“ das erste in den eckigen Klammern sein sollten.

(zum Beispiel: „%[^a-zA-Z]%“ bedeutet, dass Buchstaben nicht zwischen zwei Prozentzeichen stehen dürfen).

Um es wörtlich auszudrücken, müssen Sie das Escape-Zeichen '' vor den Zeichen „^.$()¦*+?{“ hinzufügen.

Bitte beachten Sie, dass innerhalb der eckigen Klammern keine Escape-Zeichen erforderlich sind.

Zusammenfassung

Tatsächlich verstehe ich reguläre Ausdrücke einfach nicht Sie werden feststellen, dass es nicht viele verwandte Zeichen in regulären Ausdrücken gibt und dass es nicht schwierig ist, sie zu merken oder zu verstehen. Die einzige Schwierigkeit besteht darin, dass die Lesbarkeit relativ schlecht ist Dieser Artikel soll es jedem ermöglichen, ein grundlegendes Verständnis regulärer Ausdrücke zu erlangen, einfache reguläre Ausdrücke zu verstehen und einfache reguläre Ausdrücke zu schreiben, um den Anforderungen der täglichen Entwicklung gerecht zu werden.

Verwandte Empfehlungen:

Was sind die häufig verwendeten regulären Ausdrücke in js

Video-Tutorial zu regulären JavaScript-Ausdrücken

Definition und Einführung von regulären Javascript-Ausdrücken

So bleiben Sie flexibelVerwenden Sie JavaScriptReguläre Ausdrücke

Das obige ist der detaillierte Inhalt vonDie Bedeutung und Verwendung regulärer Ausdrücke in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage