Alternativer Regex für negatives Lookbehind in JavaScript
In JavaScript werden negative Lookbehind-Behauptungen nicht direkt unterstützt. Es gibt jedoch Möglichkeiten, eine ähnliche Funktionalität zu erreichen.
Bedenken Sie den folgenden regulären Ausdruck:
(?<filename)\.js$
Dieser reguläre Ausdruck stimmt mit Zeichenfolgen überein, die mit .js enden, mit Ausnahme von Dateiname.js. In Regex-Implementierungen, die Lookbehind unterstützen, würde dieser Ausdruck wie vorgesehen funktionieren.
Alternative mit negativem Lookahead
Da JavaScript kein Lookbehind hat, können wir stattdessen negativen Lookahead verwenden:
^(?:(?!filename\.js$).)*\.js$
Dieser Ausdruck prüft explizit jedes Zeichen der Zeichenfolge, um sicherzustellen, dass die negative Lookbehind-Behauptung vorliegt (?!filename.js$) plus der verbleibende reguläre Ausdruck stimmen nicht überein. Wenn es nicht übereinstimmt, darf das Zeichen übereinstimmen.
Vereinfachte Version
Für JavaScript-Versionen vor ECMAScript 2018 kann die folgende vereinfachte Version verwendet werden:
^(?!.*filename\.js$).*\.js$
Dieser Ausdruck stellt sicher, dass die Zeichenfolge nirgendwo filename.js enthält und mit endet .js.
Das obige ist der detaillierte Inhalt vonWie erreicht man die Negative Lookbehind-Funktionalität in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!