Maison  >  Article  >  interface Web  >  Comment utiliser l'alternance entre crochets dans les expressions régulières (Regex) ?

Comment utiliser l'alternance entre crochets dans les expressions régulières (Regex) ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 22:51:02548parcourir

How to Use Alternation Inside Square Brackets in Regular Expressions (Regex)?

Comprendre le problème de l'alternance entre crochets

Lors de la création d'une expression régulière (regex) pour une chaîne de moteur de recherche, vous avez rencontré un défi avec alternance entre crochets. Votre expression régulière visait à faire correspondre les chaînes avec « wd » en plus de « mot » ou « qw ». Malgré l'expérimentation de différentes approches, vous n'avez pas réussi à obtenir le résultat souhaité.

Le simple fait de mettre plusieurs caractères entre crochets n'effectue pas d'alternance en JavaScript ; il désigne plutôt un jeu de caractères. L'alternance, qui correspond à plusieurs alternatives dans un ordre spécifique, s'effectue à l'aide de parenthèses. Par conséquent, la syntaxe correcte doit être :

.*baidu.com.*[/?].*(wd|word|qw){1}=

ou

.*baidu.com.*[/?].*(?:wd|word|qw){1}=

En plaçant les alternatives ("wd", "word" et "qw") entre parenthèses, vous activez alternance. Le '?:' avant les parenthèses dans la deuxième expression régulière rend le regroupement non capturant, ce qui empêche de lui attribuer un ID de groupe de capture lors de la correspondance.

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