Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Einführung in die Verwendung regulärer JS-Ausdrücke

Detaillierte Einführung in die Verwendung regulärer JS-Ausdrücke

php中世界最好的语言
php中世界最好的语言Original
2018-01-08 10:24:461205Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie mit H5 Spezialeffekte von Feuerwerkspartikeln erzeugen. Was sind die Vorsichtsmaßnahmen für die Erzeugung von Feuerwerkspartikeleffekten in H5? Hier ist ein praktischer Fall, werfen wir einen Blick darauf.

Regulärer AusdruckAusführliche Erklärung der Verwendung

Einführung

Einfach ausgedrückt ist der reguläre Ausdruck eine leistungsstarke Methode, die zum Mustervergleich und -ersatz verwendet werden kann. Werkzeuge. Seine Funktion ist wie folgt:
Testen Sie ein bestimmtes Muster in einer Zeichenfolge. Beispielsweise kann eine Eingabezeichenfolge getestet werden, um festzustellen, ob in der Zeichenfolge ein Telefonnummernmuster oder ein Kreditkartennummernmuster vorhanden ist. Dies wird als Überprüfung der Datengültigkeit bezeichnet.
Ersatztext. Sie können einen regulären Ausdruck verwenden, um bestimmten Text in einem Dokument zu identifizieren, der dann vollständig gelöscht oder durch anderen Text ersetzt werden kann.
Extrahiert einen Teilstring aus einem String basierend auf einer Musterübereinstimmung. Kann verwendet werden, um bestimmte Wörter in einem Text oder Eingabefeld zu finden.

Grundlegende Syntax

Nachdem wir ein vorläufiges Verständnis der Funktionen und Auswirkungen regulärer Ausdrücke erlangt haben, werfen wir einen genaueren Blick auf das Syntaxformat regulärer Ausdrücke.

Die Form eines regulären Ausdrucks ist im Allgemeinen wie folgt:

/love/ Der Teil zwischen den „/“-Trennzeichen ist das Muster, das im Zielobjekt abgeglichen werden soll. Benutzer müssen lediglich den Inhalt des Musters, nach dem sie passende Objekte finden möchten, zwischen den Trennzeichen „/“ einfügen. Um Benutzern eine flexiblere Anpassung von Musterinhalten zu ermöglichen, stellen reguläre Ausdrücke spezielle „Metazeichen“ bereit. Die sogenannten Metazeichen beziehen sich auf Sonderzeichen mit besonderer Bedeutung in regulären Ausdrücken, mit denen das Erscheinungsmuster ihrer führenden Zeichen (also der Zeichen vor den Metazeichen) im Zielobjekt angegeben werden kann.
Zu den am häufigsten verwendeten Metazeichen gehören: „+“, „*“ und „?“.
Das Metazeichen „+“ gibt an, dass sein führendes Zeichen einmal oder mehrmals im Zielobjekt vorkommen muss.
Das Metazeichen „*“ gibt an, dass sein führendes Zeichen nullmal oder mehrmals hintereinander im Zielobjekt vorkommen muss.
Das „?“-Metazeichen gibt an, dass sein führendes Objekt null oder einmal im Zielobjekt vorkommen muss.

Lassen Sie uns nun einen Blick auf die spezifischen Anwendungen von Metazeichen für reguläre Ausdrücke werfen.

/fo+/ Da der obige reguläre Ausdruck das Metazeichen „+“ enthält, bedeutet dies, dass er im Zielobjekt nach dem Buchstaben f nacheinander mit „fool“, „fo“ oder „football“ erscheinen kann. Entspricht Zeichenfolgen mit mehreren Buchstaben o.
/eg*/ Da der obige reguläre Ausdruck das Metazeichen „*“ enthält, bedeutet dies, dass nach dem Buchstaben null oder mehr aufeinanderfolgende Wörter wie „easy“, „ego“ oder „egg“ im Zielobjekt erscheinen können e. Entspricht Zeichenfolgen mit dem Buchstaben g.
/Wil?/ Da der obige reguläre Ausdruck das Metazeichen „?“ enthält, bedeutet dies, dass er mit „Win“ oder „Wilson“ im Zielobjekt usw. verglichen werden kann. Null oder ein Buchstabe l erscheint kontinuierlich nach dem Buchstabe i String-Übereinstimmungen.

Manchmal weiß ich nicht, wie viele Zeichen ich zusammenpassen soll. Um dieser Unsicherheit Rechnung zu tragen, unterstützen reguläre Ausdrücke das Konzept der Qualifizierer. Diese Qualifizierer geben an, wie oft eine bestimmte Komponente des regulären Ausdrucks vorkommen muss, um eine Übereinstimmung zu erfüllen.

{n} n ist eine nicht negative ganze Zahl. Passen Sie eine bestimmte Anzahl n-mal an. Beispielsweise stimmt „o{2}“ nicht mit dem „o“ in „Bob“ überein, wohl aber mit beiden „o“ in „food“.
{n,} n ist eine nicht negative ganze Zahl. Passt mindestens n-mal zusammen. Beispielsweise stimmt „o{2,}“ nicht mit dem „o“ in „Bob“ überein, sondern mit allen „o“ in „foooood“. 'o{1,}' ist äquivalent zu 'o+'. 'o{0,}' ist äquivalent zu 'o*'.
{n,m} m und n sind beide nicht negative ganze Zahlen, wobei n Zusätzlich zu Metazeichen können Benutzer genau angeben, wie oft ein Muster in einem übereinstimmenden Objekt vorkommt. Beispiel: /jim {2,6}/ Der obige reguläre Ausdruck legt fest, dass das Zeichen m 2-6 Mal hintereinander im passenden Objekt vorkommen kann. Daher kann der obige reguläre Ausdruck mit Zeichenfolgen wie jimmy oder jimmmmmy übereinstimmen.

Nachdem wir ein erstes Verständnis für die Verwendung regulärer Ausdrücke gewonnen haben, werfen wir einen Blick auf die Verwendung einiger anderer wichtiger Metazeichen.
s: wird verwendet, um ein einzelnes Leerzeichen, einschließlich Tabulatortasten und Zeilenumbruchzeichen, abzugleichen.
S: wird verwendet, um alle Zeichen außer einem einzelnen Leerzeichen abzugleichen.
d: wird verwendet, um Zahlen von 0 bis 9 abzugleichen.
w: wird verwendet, um Buchstaben, Zahlen oder Unterstriche abzugleichen.
W: wird verwendet, um alle Zeichen abzugleichen, die nicht mit w übereinstimmen.
.: wird verwendet, um alle Zeichen außer Zeilenumbrüchen abzugleichen.

(Erklärung: Wir können uns s und S und w und W als inverse Operationen voneinander vorstellen)

Nun schauen wir uns an, wie die oben genannten Metazeichen in regulären Ausdrücken verwendet werden Beispiele.

/s+/ Der obige reguläre Ausdruck kann verwendet werden, um ein oder mehrere Leerzeichen im Zielobjekt abzugleichen.
/d000/ Wenn wir einen komplexen Finanzbericht haben, können wir mit dem oben genannten regulären Ausdruck leicht alle Beträge in Höhe von mehreren Tausend Dollar finden.
Zusätzlich zu den oben eingeführten Metazeichen verfügen reguläre Ausdrücke auch über ein weiteres einzigartiges Sonderzeichen, nämlich den Locator. Mithilfe von Locators wird angegeben, wo das passende Muster im Zielobjekt erscheint. Zu den am häufigsten verwendeten Locators gehören: „^“, „$“, „b“ und „B“.
Der „^“-Locator gibt an, dass das passende Muster am Anfang der Zielzeichenfolge erscheinen muss
Der „$“-Locator gibt an, dass das passende Muster am Ende des Zielobjekts erscheinen muss
Der „b „Locator gibt an, dass das übereinstimmende Muster am Ende der Zielzeichenfolge erscheinen muss. Der „B“-Locator gibt an, dass sich das übereinstimmende Objekt innerhalb einer der beiden Grenzen am Anfang oder Ende der Zielzeichenfolge befinden muss.
bedeutet das Das übereinstimmende Objekt darf weder der Anfang noch das Ende der Zielzeichenfolge sein.
In ähnlicher Weise können wir auch „^“ und „$“ sowie „b“ und „B“ als zwei Sätze von Locators betrachten, die inverse Operationen zueinander sind. Beispiel: /^hell/ Da der obige reguläre Ausdruck den „^“-Locator enthält, kann er mit der Zeichenfolge übereinstimmen, die mit „hell“, „hello“ oder „hellhound“ im Zielobjekt beginnt. /ar$/ Da der obige reguläre Ausdruck den Locator „$“ enthält, kann er mit Zeichenfolgen übereinstimmen, die im Zielobjekt auf „car“, „bar“ oder „ar“ enden. /bbom/ Da das obige reguläre Ausdrucksmuster mit dem Locator „b“ beginnt, kann es mit der Zeichenfolge übereinstimmen, die mit „bomb“ oder „bom“ im Zielobjekt beginnt. /manb/ Da das obige reguläre Ausdrucksmuster mit dem Locator „b“ endet, kann es mit Zeichenfolgen im Zielobjekt übereinstimmen, die mit „human“, „woman“ oder „man“ enden.
Um es Benutzern zu erleichtern, Abgleichsmuster flexibler festzulegen, ermöglichen reguläre Ausdrücke Benutzern die Angabe eines Bereichs im Abgleichsmuster, ohne auf bestimmte Zeichen beschränkt zu sein. Zum Beispiel:
/[A-Z]/ Der obige reguläre Ausdruck entspricht jedem Großbuchstaben von A bis Z.
/[a-z]/Der obige reguläre Ausdruck entspricht jedem Kleinbuchstaben im Bereich von a bis z.
/[0-9]/ Der obige reguläre Ausdruck entspricht jeder Zahl von 0 bis 9.
/([a-z][A-Z][0-9])+/ Der obige reguläre Ausdruck passt zu jeder Zeichenfolge, die aus Buchstaben und Zahlen besteht, z. B. „aB0“.

Eine Sache, auf die Benutzer hier achten müssen, ist, dass Sie „()“ in regulären Ausdrücken verwenden können, um Zeichenfolgen miteinander zu kombinieren. Der im „()“-Symbol enthaltene Inhalt muss auch im Zielobjekt erscheinen. Daher stimmt der obige reguläre Ausdruck nicht mit einer Zeichenfolge wie „abc“ überein, da das letzte Zeichen in „abc“ ein Buchstabe und keine Zahl ist.

Wenn wir einen regulären Ausdruck ähnlich der „OR“-Operation in der Programmierlogik implementieren und eines von mehreren verschiedenen Mustern für den Abgleich auswählen möchten, können wir das Pipe-Zeichen „|“ verwenden. Beispiel: /to|too|2/ Der obige reguläre Ausdruck stimmt mit „to“, „too“ oder „2“ im Zielobjekt überein.
Es gibt auch einen häufiger verwendeten Operator in regulären Ausdrücken, nämlich den Negationsoperator „[^]“. Anders als der zuvor eingeführte Locator „^“ gibt das Negationszeichen „[^]“ an, dass die im Muster angegebene Zeichenfolge im Zielobjekt nicht vorhanden sein darf. Beispiel: /[^A-C]/ Die obige Zeichenfolge entspricht jedem Zeichen außer A, B und C im Zielobjekt. Wenn „^“ innerhalb von „[]“ erscheint, wird es im Allgemeinen als Negationsoperator betrachtet. Wenn „^“ außerhalb von „[]“ steht oder kein „[]“ vorhanden ist, sollte es als negativer Operator betrachtet werden . Locator.
Wenn Benutzer schließlich Metazeichen zum regulären Ausdrucksmuster hinzufügen und ihre passenden Objekte finden müssen, können sie das Escape-Zeichen „“ verwenden. Beispiel: /Th*/ Der obige reguläre Ausdruck stimmt mit „Th*“ anstelle von „The“ im Zielobjekt überein.

Nachdem der reguläre Ausdruck erstellt wurde, kann er wie ein mathematischer Ausdruck ausgewertet werden, d. h. er kann von links nach rechts und in einer Prioritätsreihenfolge ausgewertet werden. Die Priorität ist wie folgt:

1. Escape-Zeichen

2.(), (?:), (?=), [] Runde Klammern und eckige Klammern
3.*, +, ? , {n}, {n,}, {n,m} Qualifizierer
4.^, $, beliebige Metazeichenposition und -reihenfolge
5.|„OR“-Operation

Verwendungsbeispiel

In JavaScript 1.2 gibt es ein leistungsstarkes RegExp()-Objekt, das zum Durchführen regulärer Ausdrucksabgleichsoperationen verwendet werden kann. Die Methode test() kann prüfen, ob das Zielobjekt ein passendes Muster enthält und entsprechend true oder false zurückgeben.
Wir können das folgende Skript mit JavaScript schreiben, um die Gültigkeit der vom Benutzer eingegebenen E-Mail-Adresse zu überprüfen.
Objekt für reguläre Ausdrücke
Dieses Objekt enthält ein Muster für reguläre Ausdrücke und Flags, die angeben, wie das Muster angewendet wird.
Syntax 1 re = /pattern/[flags]
Syntax 2 re = new RegExp("pattern",["flags"])
Parameter
re
Erforderlich. Der Variablenname , der dem regulären Ausdrucksmuster zugewiesen werden soll.
Muster
Erforderlich. Das zu verwendende reguläre Ausdrucksmuster. Wenn Sie Syntax 1 verwenden, trennen Sie die Muster durch das Zeichen „/“. Wenn Sie Syntax 2 verwenden, schließen Sie das Muster in Anführungszeichen ein.
Flags
Optional. Wenn Sie Syntax 2 verwenden, schließen Sie das Flag in Anführungszeichen ein. Flags können in Kombination verwendet werden: 🎜> Das folgende Beispiel erstellt ein Objekt, das ein reguläres Ausdrucksmuster und zugehörige Flags enthält, um die Verwendung regulärer Ausdrucksobjekte zu demonstrieren. In diesem Beispiel wird das resultierende reguläre Ausdrucksobjekt in der Match-Methode verwendet:


Ich glaube, dass Sie die Methode beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln die chinesische PHP-Website!

Verwandte Lektüre:

Wie jQuery dafür sorgt, dass der Wert im Klick-Dropdown-Feld im Textfeld akkumuliert wird
function MatchDemo()
  {
  var r, re; // 声明变量。
  var s = "The rain in Spain falls mainly in the plain";
  re = new RegExp("ain","g"); // 创建正则表达式对象。
  r = s.match(re); // 在字符串 s 中查找匹配。
  return(r);
  }

ES6-Klasse Welche Funktionen haben statische Methoden?


Detaillierte Erläuterung der Syntax und allgemeiner Anweisungen von vue.js

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Verwendung regulärer JS-Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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