Heim  >  Artikel  >  Backend-Entwicklung  >  Besprechen Sie ausführlich die Auswirkungen von lastIndex auf regelmäßige Ergebnisse

Besprechen Sie ausführlich die Auswirkungen von lastIndex auf regelmäßige Ergebnisse

小云云
小云云Original
2017-12-06 13:30:531605Durchsuche

Wenn Sie reguläre Ausdrücke verwenden, um dieselbe Zeichenfolge zu überprüfen, werden abwechselnd „true“ und „false“ zurückgegeben. In meiner Verzweiflung habe ich den maßgeblichen Leitfaden noch einmal durchgesehen und festgestellt, dass der Übeltäter lastIndex war. In diesem Artikel erfahren Sie, welchen Einfluss lastIndex auf regelmäßige Ergebnisse hat.

let reg = /[\d]/g
//undefined
reg.test(1)
//true
reg.test(1)
//false


lastIndex

lastIndex wird im maßgeblichen Leitfaden wie folgt erklärt: Es ist ein Ganzzahlen lesen/schreiben. Wenn das passende Muster den g-Modifikator hat, wird dieses Attribut am Anfang des nächsten Index in der gesamten Zeichenfolge gespeichert. Dieses Attribut wird von exec() und test() verwendet. Beobachten Sie weiterhin unter Verwendung des obigen Beispiels das lastIndex-Attribut


let reg = /[\d]/g  //有修饰符g
//undefined
reg.lastIndex
//0
reg.test(1)   
//true
reg.lastIndex  //匹配一次后,lastIndex改变
//1
reg.test(1)  //从index 1 开始匹配
//false
reg.lastIndex
//0
reg.test(1)
//true
reg.lastIndex
//1


Nach der ersten erfolgreichen Übereinstimmung mit test(), lastIndex wird auf die Endposition des Matches gesetzt, die 1 ist; wenn test() zum zweiten Mal ausgeführt wird, beginnt der Matching bei Index 1. Wenn der Match fehlschlägt, wird lastIndex auf 0 zurückgesetzt. Dies führt dazu, dass die Matching-Ergebnisse nicht den Erwartungen entsprechen

Lösung

1. Verwenden Sie nicht den g-Modifikator


reg = /[\d]/
///[\d]/
reg.test(1)
//true
reg.test(1)
//true
reg.lastIndex
//0
reg.test(1)
//true
reg.lastIndex


2 Manuell lastIndex = 0 nach test() setzen

Der Oben ist die Auswirkung von lastIndex auf regelmäßige Ergebnisse. Ich hoffe, es kann allen helfen.

Verwandte Empfehlungen:

Detaillierte Erläuterung der Verwendung der Methode lastIndexOf() für Arrays und Strings in JavaScript_Grundkenntnisse

Verwendung von indexOf und lastIndexOf Beispiel: Einführung_Javascript-Kenntnisse

js lastIndexOf() Anwendungsbeispiel

Das obige ist der detaillierte Inhalt vonBesprechen Sie ausführlich die Auswirkungen von lastIndex auf regelmäßige Ergebnisse. 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