Regex JavaScript (OR)
Les expressions régulières (RegEx) JavaScript offrent des capacités puissantes pour la correspondance de motifs au sein de chaînes de caractères. L'un des composants clés de la RegEx est l'opérateur OU, représenté par le trait vertical (|). Cet opérateur permet d'inclure plusieurs motifs dans une seule expression régulière, rendant les recherches et manipulations de chaînes polyvalentes et efficaces. Dans ce guide complet, nous explorerons l'utilisation de l'opérateur OU dans la RegEx JavaScript, accompagné d'exemples pratiques pour approfondir votre compréhension.
Comprendre l'opérateur OU (|) dans la RegEx
L'opérateur OU dans les expressions régulières vous permet de spécifier plusieurs alternatives pour une correspondance. Il est particulièrement utile lorsque vous devez faire correspondre un motif parmi plusieurs possibles.
Utilisation de base de l'opérateur OU
La syntaxe de l'opérateur OU est simple. Elle consiste à placer le symbole | entre les motifs que vous souhaitez faire correspondre.
Dans cet exemple, le motif /cat|dog/ correspond à la fois à "cat" et à "dog" dans les chaînes données.
Regroupement avec des parenthèses
Les parenthèses () sont utilisées pour regrouper des parties d'une expression régulière (Pour plus d'informations sur les groupes, consultez Groupes de capture). Cela est utile lorsque vous devez appliquer l'opérateur OU à plusieurs caractères ou motifs.
Ici, le motif /(cat|dog)s?/ correspond à "cat", "cats", "dog" et "dogs".
Exemples pratiques
Correspondance de différentes extensions de fichiers
Supposons que vous deviez valider des noms de fichiers avec différentes extensions telles que .jpg, .png ou .gif.
Dans cet exemple, le motif /\.(jpg|png|gif)$/ correspond aux noms de fichiers se terminant par ".jpg", ".png" ou ".gif".
Validation des numéros de téléphone
Considérons un scénario où vous devez valider différents formats de numéros de téléphone.
Le motif /(\+\d{1,2}\s?)?(\(\d{3}\)|\d{3})[-.\s]?\d{3}[-.\s]?\d{4}/ correspond à divers formats de numéros de téléphone, y compris ceux avec des indicatifs pays, des parenthèses, des tirets, des points et des espaces.
Correspondance de sous-motifs optionnels
L'opérateur OU peut également être utilisé pour faire correspondre des sous-motifs optionnels au sein d'une chaîne.
Ici, le motif /color|colour/ correspond aux deux orthographes américaine et britannique du mot "color".
Combinaison de l'opérateur OU avec d'autres métacaractères
La puissance de l'opérateur OU est renforcée lorsqu'il est combiné avec d'autres métacaractères d'expression régulière, tels que * (zéro ou plusieurs), + (un ou plusieurs), ? (zéro ou un) et {} (exactement n fois).
Exemple avec des quantificateurs
Le motif /\b(cat|dog)s?\b/ correspond à "cat", "cats", "dog" et "dogs" en tant que mots entiers, en utilisant le métacaractère de limite de mot \b.
Exemple avancé avec plusieurs conditions
Dans cet exemple, le motif /(\d{1,2}-\d{1,2}-\d{4})|(\d{4}-\d{1,2}-\d{1,2})/ correspond aux dates aux formats "JJ-MM-AAAA" et "AAAA-MM-JJ".
Conclusion
Maîtriser l'opérateur OU dans les expressions régulières JavaScript ouvre un large éventail de possibilités pour une correspondance de motifs efficace et polyvalente. En comprenant comment utiliser l'opérateur OU en combinaison avec d'autres fonctionnalités de la RegEx, vous pouvez créer des motifs puissants et flexibles pour gérer des recherches et manipulations de chaînes complexes.
Pratique
Laquelle des expressions régulières suivantes utilise correctement l'opérateur OU (|) pour rechercher les mots 'cat' ou 'dog' ?