Dieser Artikel liefert eine Erklärung für normale Faulheit und Gier. Ich hoffe, dass er für alle hilfreich sein wird.
exec - > Reguläre Erfassung
Jedes Mal, wenn Sie erfassen, wird zuerst der Standardabgleich durchgeführt Ergebnis ist null; wir können nur passende Inhalte erfassen.
Erfasster Inhaltsformat
1 Das Array ist der vom aktuellen regulären Ausdruck erfasste Inhalt
Index: die Indexposition, an der der erfasste Inhalt in der Zeichenfolge beginnt
Eingabe: Erfasste Originalzeichenfolge
reg = /\d+/ str = 'woshi2016ni2017' res =
var res = reg.exec(str); console.log(res) // ['2016',index:5,input:'woshi2016ni2017']
2. Merkmale der regulären Erfassung
1) Faulheit -> Bei jeder Ausführung von exec wird nur der erste übereinstimmende Inhalt erfasst. Selbst wenn mehrere Erfassungen ausgeführt werden, wird der erste übereinstimmende Inhalt ohne Verarbeitung erfasst.
LastIndex: ist die Position, an der die Suche in der Zeichenfolge für jede reguläre Erfassung beginnt. Der Standardwert ist 0
2) Vorgehensweise Faulheit lösen Sexualität? Am Ende des regulären Ausdrucks einen Modifikator „g“ hinzufügen
Modifikatoren: g, i, m
global( g): Globaler Abgleich
ignoreCase(i): Groß-/Kleinschreibung ignorieren
multiline(m): Mehrzeiliger Abgleich 🎜>
var reg = /\d/g;
var str = 'woshi2016ni2017';
console.log(reg.lastIndex)
console.log(reg.exec(str))
3), schreiben Sie Ihr eigenes Programm, um die regulären Werte zu erhalten Ausdruck Alle erfassten Inhalte (vergessen Sie nicht, g hinzuzufügen)
var reg = /\d+/g;var str = 'aswofde2015xsewde2016awdefer2017';var ary = [];var res = reg.exec(str);while(res){ ary.push(res[0]) res = reg.exec(str); } console.log(ary)//[2015,2016,2017]
5), wie lässt sich die gierige Natur des regulären Problems lösen -> danach ein Quantifizierer-Metazeichen hinzufügen? Das heißt
var reg = /\d+?/g;var str = 'aswofde2015xsewde2016awdefer2017'; console.log(reg.exec(str));
gewöhnlichen Metazeichen
zur Darstellung von 0-1 Vorkommen von /d?/ -> Die Zahl kann erscheinen oder auch nichtSetzen Sie sie nach dem Metazeichen eines Quantor ist gierig, wenn die Erfassung abgebrochen wird
3. Die Übereinstimmungsmethode in der Zeichenfolge -> Kombiniere alle Summen mit regulären Alle übereinstimmenden Zeichen werden erhalten
Obwohl Match in der aktuellen Situation einfacher ist als unser Exec, gibt es einige Probleme im Match, die es im Fall der gruppierten Erfassung nicht alleine bewältigen kann , match kann nur den Inhalt erfassen, der mit großen regulären Ausdrücken übereinstimmt, aber der Inhalt, der mit kleinen regulären Ausdrücken erfasst wird, kann nicht abgerufen werden
Das obige ist der detaillierte Inhalt vonEine Erklärung für normale Faulheit und Gier. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!