Maison  >  Article  >  interface Web  >  Comment faire correspondre les instances Regex en dehors des guillemets : une solution d'assertion prospective

Comment faire correspondre les instances Regex en dehors des guillemets : une solution d'assertion prospective

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 18:57:02883parcourir

How to Match Regex Instances Outside of Quotes: A Look-Ahead Assertion Solution

Regex pour faire correspondre les instances en dehors des guillemets

Dans la question référencée, la possibilité de faire correspondre les instances de regex en dehors des guillemets a été remise en question. Il a été initialement suggéré que les citations échappées constitueraient un obstacle insurmontable. Cependant, une solution a émergé qui permet de capturer les instances non contenues entre guillemets.

Pour y parvenir, une assertion d'anticipation est utilisée : (?=(1"1")1$).

Cette assertion fonctionne sur le principe qu'une instance hors guillemets sera suivie d'un nombre pair de guillemets. En l'utilisant, nous pouvons efficacement ignorer les instances apparaissant entre des guillemets échappés ou des guillemets qui ne sont pas fermés.

Par exemple, considérons la chaîne d'entrée : bar baz"not or" ou ""this ""foo bar . Remplacer par #, tout en garantissant que les instances entre guillemets restent intactes, donne ce qui suit : #bar#baz"not or" ou ""this ""foo#bar#.

Pour incorporer cela dans le .split() de JavaScript et .replace(), l'assertion peut être directement intégrée dans le modèle d'expression régulière. Cette fonctionnalité fournit un outil puissant et polyvalent pour manipuler les chaînes en ciblant des instances spécifiques en fonction de leur contexte externe.


  1. "

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