Maison > Article > interface Web > Comment faire correspondre les instances Regex en dehors des guillemets : une solution d'assertion prospective
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.
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!