Javascript Regex: Alternative zu Lookbehind-Assertions
Regex-Implementierungen in Javascript fehlt das Konzept von Lookbehind-Assertions. Dies stellt eine Herausforderung beim Erstellen regulärer Ausdrücke dar, die diese Funktionalität erfordern. Glücklicherweise gibt es alternative Methoden, um ähnliche Ergebnisse zu erzielen.
Betrachten Sie den folgenden regulären Ausdruck:
(?<!filename)\.js$
Dieser reguläre Ausdruck stimmt mit „.js“ am Ende einer Zeichenfolge überein, mit Ausnahme von „Dateiname.js“. ." Ohne Lookbehind-Unterstützung in Javascript benötigen wir jedoch eine Alternative.
Eine solche Alternative besteht darin, die Lookbehind-Behauptung in eine Reihe expliziter Prüfungen für jedes Zeichen in der Zeichenfolge zu erweitern:
^(?:(?!filename\.js$).)*\.js$
Dieser reguläre Ausdruck gliedert sich wie folgt:
Alternativ ist eine einfachere Lösung verfügbar:
^(?!.*filename\.js$).*\.js$
Diese Regex überprüft im Wesentlichen die gesamte Zeichenfolge enthält nicht „filename.js“, bevor es mit „.js“ übereinstimmt.
Durch die Nutzung dieser Alternativen können wir Regex-Funktionalität implementieren Ähnlich wie Lookbehind-Behauptungen in Javascript.
Das obige ist der detaillierte Inhalt vonWie implementiert man Lookbehind-Assertionen in JavaScript Regex?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!