Maison >interface Web >js tutoriel >Comment obtenir la fonctionnalité Negative Lookbehind en JavaScript ?

Comment obtenir la fonctionnalité Negative Lookbehind en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 10:58:02467parcourir

How to achieve Negative Lookbehind functionality in JavaScript?

Regex alternative pour l'analyse négative en JavaScript

En JavaScript, les assertions d'analyse négative ne sont pas directement prises en charge. Cependant, il existe des moyens d'obtenir des fonctionnalités similaires.

Considérez l'expression régulière suivante :

(?<filename)\.js$

Cette expression régulière correspond aux chaînes se terminant par .js, à l'exception de filename.js. Dans les implémentations d'expressions régulières qui prennent en charge le lookbehind, cette expression fonctionnerait comme prévu.

Alternative à l'aide d'un lookahead négatif

Étant donné que JavaScript n'a pas de lookbehind, nous pouvons utiliser un lookahead négatif à la place :

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

Cette expression vérifie explicitement chaque caractère de la chaîne pour garantir que le négatif regarde derrière l'assertion (?!filename.js$) plus l'expression régulière restante ne correspondront pas. S'il ne correspond pas, le caractère est autorisé à correspondre.

Version simplifiée

Pour les versions JavaScript antérieures à ECMAScript 2018, la version simplifiée suivante peut être utilisée :

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

Cette expression affirme que la chaîne ne contient nulle part filename.js et se termine par .js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn