Nutzungsanalyse des JS-Modifikators für reguläre Ausdrücke global(/g)
Das Beispiel in diesem Artikel beschreibt die Verwendung des JS-Modifikators für reguläre Ausdrücke global(/g). Geben Sie es zu Referenzzwecken an alle weiter. Die Details lauten wie folgt: Der Modifikator
/g stellt einen globalen Abgleich dar, bei dem nach allen Übereinstimmungen gesucht wird, anstatt nach dem ersten Treffer anzuhalten. Schauen wir uns zunächst einen klassischen Code an:
var str = "123#abc"; var noglobal = /abc/i;//非全局匹配模式 console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出ture var re = /abc/ig;//全局匹配 console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false
Sie können Folgendes sehen: Bei Verwendung des /g-Modus werden die Ausgabeergebnisse von RegExp.test angezeigt () werden mehrmals ausgeführt. Es wird einen Unterschied geben.
Wenn beim Erstellen eines regulären Ausdrucksobjekts der Bezeichner „g“ verwendet oder sein Attributwert „?global“ auf „true“ gesetzt ist, verwendet das neu erstellte reguläre Ausdrucksobjekt das Muster zum Abgleichen. Zeichenfolgen werden global abgeglichen. Im globalen Matching-Modus können mehrere Matches für die angegebene zu findende Zeichenfolge durchgeführt werden. Bei jeder Übereinstimmung wird der Wert des lastIndex-Attributs des aktuellen regulären Objekts als Startposition für die Suche in der Zielzeichenfolge verwendet. Der Anfangswert des lastIndex-Attributs ist 0. Nachdem ein passendes Element gefunden wurde, wird der Wert von lastIndex auf den Positionsindex des nächsten Zeichens des übereinstimmenden Inhalts in der Zeichenfolge zurückgesetzt, der zur Identifizierung der Position verwendet wird, an der mit der Suche begonnen werden soll das nächste Mal, wenn ein Spiel durchgeführt wird. Wenn kein passendes Element gefunden wird, wird der Wert von lastIndex auf 0 gesetzt. Wenn das globale Matching-Flag des regulären Objekts nicht gesetzt ist, ist der Wert des lastIndex-Attributs immer 0 und jedes Mal, wenn ein Match durchgeführt wird, wird nur das erste passende Element in der Zeichenfolge gefunden.
Sie können die Leistung von lastIndex im /g-Modus mit dem folgenden Code überprüfen:
var str = "012345678901234567890123456789"; var re = /123/g; console.log(re.lastIndex); //输出0,正则表达式刚开始创建 console.log(re.test(str)); //输出ture console.log(re.lastIndex); //输出4 console.log(re.test(str)); //输出true console.log(re.lastIndex); //输出14 console.log(re.test(str)); //输出ture console.log(re.lastIndex); //输出24 console.log(re.test(str)); //输出false console.log(re.lastIndex); //输出0,没有找到匹配项被重置
Oben haben wir die Auswirkung des /g-Modus auf die Funktion RegExp.test() gesehen. Schauen wir uns nun die Auswirkungen auf die Funktion RegExp.exec() an. RegExp.exec() gibt ein Array zurück, das die passenden Ergebnisse enthält. Wenn keine Übereinstimmung gefunden wird, ist der Rückgabewert null.
var str = "012345678901234567890123456789"; var re = /abc/; //exec没有找到匹配 console.log(re.exec(str));//null console.log(re.lastIndex);//0
var str = "012345678901234567890123456789"; var re = /123/; var resultArray = re.exec(str); console.log(resultArray[0]);//匹配结果123 console.log(resultArray.input);//目标字符串str console.log(resultArray.index);//匹配结果在原始字符串str中的索引
Wenn g für die RegExp.exec-Methode nicht hinzugefügt wird, wird nur die erste Übereinstimmung zurückgegeben, egal wie oft es wird ausgeführt; wenn g hinzugefügt wird, gibt die erste Ausführung auch die erste Übereinstimmung zurück, und die zweite Ausführung gibt die zweite Übereinstimmung zurück und so weiter.
var str = "012345678901234567890123456789"; var re = /123/; var globalre = /123/g; //非全局匹配 var resultArray = re.exec(str); console.log(resultArray[0]);//输出123 console.log(resultArray.index);//输出1 console.log(globalre.lastIndex);//输出0 var resultArray = re.exec(str); console.log(resultArray[0]);//输出123 console.log(resultArray.index);//输出1 console.log(globalre.lastIndex);//输出0 //全局匹配 var resultArray = globalre.exec(str); console.log(resultArray[0]);//输出123 console.log(resultArray.index);//输出1 console.log(globalre.lastIndex);//输出4 var resultArray = globalre.exec(str); console.log(resultArray[0]);//输出123 console.log(resultArray.index);//输出11 console.log(globalre.lastIndex);//输出14
Bei Verwendung des /g-Matching-Modus können wir alle Übereinstimmungen durch eine Schleife abrufen.
var str = "012345678901234567890123456789"; var globalre = /123/g; //循环遍历,获取所有匹配 var result = null; while ((result = globalre.exec(str)) != null) { console.log(result[0]); console.log(globalre.lastIndex); }
Ich hoffe, dass dieser Artikel für alle in der JavaScript-Programmierung hilfreich sein wird.
Weitere Artikel zur Nutzungsanalyse des JS-Modifikators für reguläre Ausdrücke global(/g) finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Detaillierte Erläuterung der Methode für JavaScript -Zeichenfolge und FAQ In diesem Artikel werden zwei Möglichkeiten untersucht, wie String -Zeichen in JavaScript ersetzt werden: Interner JavaScript -Code und interne HTML für Webseiten. Ersetzen Sie die Zeichenfolge im JavaScript -Code Die direkteste Möglichkeit ist die Verwendung der Ersatz () -Methode: str = str.replace ("find", "ersetzen"); Diese Methode ersetzt nur die erste Übereinstimmung. Um alle Übereinstimmungen zu ersetzen, verwenden Sie einen regulären Ausdruck und fügen Sie das globale Flag G hinzu:: STR = Str.Replace (/fi

Dieses Tutorial zeigt Ihnen, wie Sie eine benutzerdefinierte Google -Such -API in Ihr Blog oder Ihre Website integrieren und ein raffinierteres Sucherlebnis bieten als Standard -WordPress -Themen -Suchfunktionen. Es ist überraschend einfach! Sie können die Suche auf y beschränken

Hier sind Sie also bereit, alles über dieses Ding namens Ajax zu lernen. Aber was genau ist das? Der Begriff AJAX bezieht sich auf eine lose Gruppierung von Technologien, mit denen dynamische, interaktive Webinhalte erstellt werden. Der Begriff Ajax, ursprünglich von Jesse J geprägt

Diese Artikelserie wurde Mitte 2017 mit aktuellen Informationen und neuen Beispielen umgeschrieben. In diesem JSON -Beispiel werden wir uns ansehen, wie wir einfache Werte in einer Datei mit JSON -Format speichern können. Mit der Notation des Schlüsselwertpaares können wir jede Art speichern

Verbessern Sie Ihre Codepräsentation: 10 Syntax -Hochlichter für Entwickler Das Teilen von Code -Snippets auf Ihrer Website oder Ihrem Blog ist eine gängige Praxis für Entwickler. Die Auswahl des richtigen Syntax -Highlighter kann die Lesbarkeit und die visuelle Anziehungskraft erheblich verbessern. T

Nutzen Sie JQuery für mühelose Webseiten -Layouts: 8 Essential Plugins JQuery vereinfacht das Webseitenlayout erheblich. In diesem Artikel werden acht leistungsstarke JQuery -Plugins hervorgehoben, die den Prozess optimieren, insbesondere nützlich für die manuelle Website -Erstellung

Dieser Artikel enthält eine kuratierte Auswahl von über 10 Tutorials zu JavaScript- und JQuery Model-View-Controller-Frameworks (MVC). Diese Tutorials decken eine Reihe von Themen von Foundatio ab

Kernpunkte Dies in JavaScript bezieht sich normalerweise auf ein Objekt, das die Methode "besitzt", aber es hängt davon ab, wie die Funktion aufgerufen wird. Wenn es kein aktuelles Objekt gibt, bezieht sich dies auf das globale Objekt. In einem Webbrowser wird es durch Fenster dargestellt. Wenn Sie eine Funktion aufrufen, wird das globale Objekt beibehalten. Sie können den Kontext mithilfe von Methoden wie CALL (), Apply () und Bind () ändern. Diese Methoden rufen die Funktion mit dem angegebenen Wert und den Parametern auf. JavaScript ist eine hervorragende Programmiersprache. Vor ein paar Jahren war dieser Satz
