Heim  >  Artikel  >  Web-Frontend  >  Verstehen Sie die Analyse des Greedy-Modus und des Non-Greedy-Modus von regulären JS-Ausdrücken genau

Verstehen Sie die Analyse des Greedy-Modus und des Non-Greedy-Modus von regulären JS-Ausdrücken genau

不言
不言Original
2018-07-11 09:45:372268Durchsuche

Dieser Artikel stellt hauptsächlich die Analyse des Greedy-Modus und des Non-Greedy-Modus für ein tieferes Verständnis der regulären JS-Ausdrücke vor. Jetzt kann ich ihn mit Ihnen teilen.

Gieriger Modus

Ich habe bereits über reguläre Quantifizierer gesprochen, aber die Quantifizierer werden ein 到底该匹配哪个 Problem mit sich bringen.

Der folgende reguläre Ausdruck:

\d{3,6}

Dieser reguläre Ausdruck entspricht 3 bis 6 Zahlen, aber wenn dieser reguläre Ausdruck zum Abgleichen der Zeichenfolge 12345678 verwendet wird, mit welchen drei Ziffern sollte er übereinstimmen? sechsstellig oder keines von beiden?

Sie können es zuerst versuchen:

let text = '12345678'
let reg = /\d{3,6}/g
text.replace(reg, 'X')      // X78

Sie können sehen, dass der reguläre Ausdruck die sechs Zahlen von 123456 durch X ersetzt Der Ausdruck wird so viele Übereinstimmungen wie möglich haben.

Normalerweise übernehmen reguläre Ausdrücke den Greedy-Modus, das heißt, sie stimmen mit so vielen wie möglich überein.

Nicht-gieriger Modus

Manchmal benötigen wir jedoch so wenige Übereinstimmungen wie möglich mit dem regulären Ausdruck, das heißt, sobald eine erfolgreiche Übereinstimmung erzielt wurde, werden keine weiteren Versuche unternommen der nicht gierige Modus. Wie gelangt man also in den Non-Greedy-Modus?

Die Methode ist sehr einfach, fügen Sie einfach ? nach dem Quantor hinzu.

let text = '12345678'
let reg = /\d{3,6}?/g
text.replace(reg, 'X')      // X45678

Es kann festgestellt werden, dass dieses reguläre Muster im nicht gierigen Modus nur mit 123 übereinstimmt, was die Mindestübereinstimmung darstellt.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Umfassendes Verständnis der Analyse von Quantoren in regulären JS-Ausdrücken

Umfassendes Verständnis der Analyse regulärer JS-Ausdrücke Analyse vordefinierter Klassen und Grenzen

Das obige ist der detaillierte Inhalt vonVerstehen Sie die Analyse des Greedy-Modus und des Non-Greedy-Modus von regulären JS-Ausdrücken genau. 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