„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erreicht man die Negative Lookbehind-Funktionalität in JavaScript?

Wie erreicht man die Negative Lookbehind-Funktionalität in JavaScript?

Veröffentlicht am 09.11.2024
Durchsuche:345

How to achieve Negative Lookbehind functionality in JavaScript?

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.

Betrachten Sie den folgenden regulären Ausdruck:

(?

Dieser reguläre Ausdruck stimmt mit Zeichenfolgen überein, die mit .js enden außer filename.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 negativen Lookahead verwenden stattdessen:

^(?:(?!filename\.js$).)*\.js$

Dieser Ausdruck überprü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 bestätigt, dass die Zeichenfolge enthält nirgends filename.js und endet mit .js.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3