Maison > interface Web > js tutoriel > Comment puis-je obtenir une fonctionnalité d'analyse négative dans les expressions régulières JavaScript ?

Comment puis-je obtenir une fonctionnalité d'analyse négative dans les expressions régulières JavaScript ?

Patricia Arquette
Libérer: 2024-12-13 15:33:10
original
127 Les gens l'ont consulté

How Can I Achieve Negative Lookbehind Functionality in JavaScript Regular Expressions?

Équivalents de recherche négative en JavaScript

Bien que les recherches négatives soient absentes dans les expressions régulières de JavaScript, des techniques alternatives peuvent obtenir des résultats similaires.

Assertions Lookbehind (ES2018 et Plus tard)

Depuis 2018, JavaScript prend en charge les assertions lookbehind, y compris les lookbehinds négatifs. Leur syntaxe est la suivante :

  • Regard positif : (?<=...)
  • Regard négatif : (?

Approche pré-2018 : Ingénierie inverse

Avant Des assertions lookbehind ont été introduites, une approche en plusieurs étapes a été utilisée :

  1. Inversez la chaîne d'entrée.
  2. Effectuez une correspondance avec une expression régulière inversée.
  3. Inversez et reformatez la matches.

Cette approche impliquait d'inverser les modèles d'entrée et d'expression régulière, ce qui entraînait des résultats plus complexes. code.

Par exemple, pour faire correspondre des chaînes excluant certains caractères de début :

const reverse = s => s.split('').reverse().join('');

test(['jim', 'm', 'jam'], /m(?!([abcdefg]))/);<p>Cette approche a produit les résultats suivants :</p>
<pre class="brush:php;toolbar:false">jim true token: m
m true token: m
jam false token: Ø
Copier après la connexion

En inversant l'entrée et l'expression régulière , il obtient efficacement le comportement souhaité des chaînes correspondantes qui ne commencent pas par des caractères spécifiques.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal