Heim  >  Artikel  >  Web-Frontend  >  Tutorial zur JavaScript-Verbesserung – Backtracking regulärer Ausdrücke

Tutorial zur JavaScript-Verbesserung – Backtracking regulärer Ausdrücke

巴扎黑
巴扎黑Original
2016-12-05 11:52:531089Durchsuche

Dieser Artikel ist das offizielle HTML5-Schulungs-Tutorial der H5EDU-Organisation. Er stellt hauptsächlich vor: JavaScript-Verbesserungs-Tutorial – Rückverfolgung regulärer Ausdrücke

Das folgende Beispiel zeigt den Prozess der Verarbeitung regulärer Ausdrücke:

/ h(ello|appy) hippo/.test("Hallo, glückliches Nilpferd");
Dieser reguläre Ausdruck ist „Hallo Nilpferd“ oder „glückliches Nilpferd“. Wenn der Matching-Prozess beginnt, wird zunächst nach einem h gesucht , das Ziel Der erste Buchstabe der Zeichenfolge ist zufällig h, sodass er sofort gefunden wird. Als nächstes bietet der Unterausdruck (ello|appy) zwei Verarbeitungsoptionen. Der reguläre Ausdruck wählt die Option ganz links aus (die Auswahl erfolgt immer von links nach rechts) und prüft, ob ello mit dem nächsten Zeichen in der Zeichenfolge übereinstimmt erfolgreich und der reguläre Ausdruck stimmt mit den nachfolgenden Leerzeichen überein. Da das h in hippo nicht mit dem t in der nächsten Zeichenfolge übereinstimmen kann, kann die Übereinstimmung nicht fortgesetzt werden. An diesem Punkt kann der reguläre Ausdruck nicht aufgeben, da er noch nicht alle Optionen ausgeschöpft hat. Anschließend wird er zum nächstgelegenen Entscheidungspunkt zurückverfolgt (entspricht der Position nach dem ersten Zeichen h) und versucht, den zweiten Zweig zu finden. Der Abgleich war nicht erfolgreich und es gibt keine weiteren Optionen. Daher geht der reguläre Ausdruck davon aus, dass der Abgleich mit dem ersten Zeichen der Zeichenfolge nicht erfolgreich sein kann, und versucht es daher erneut mit dem zweiten Zeichen. Er fand h nicht, also setzte er die Suche fort, bis das h in „happy“ an der 14. Zeichenfolgenposition gefunden wurde, und trat dann erneut in den Verzweigungsprozess ein. Diesmal gelang ihm keine Übereinstimmung, aber er machte einen Rückzieher und versuchte es mit dem zweiten Verzweigungsprozess Schließlich wurde die gesamte Zeichenfolge „Happy Hippo“ gematcht.
Matching erfolgreich.


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