Imaginez ceci, vous essayez de vous inscrire sur un site Web, vous entrez votre email et votre mot de passe et vous recevez le message "Le nom d'utilisateur ou le mot de passe que vous avez entré n'est pas valide. Veuillez réessayer. "
Comment l'ordinateur sait-il exactement que le nom d'utilisateur ou le mot de passe que vous avez saisi n'est pas valide ? La réponse est un outil super puissant appelé expression régulière.
Une expression régulière, ou regex en abrégé, est un modèle utilisé pour faire correspondre tous les types de caractères dans un texte. La beauté d’une expression régulière est que vous pouvez la concevoir pour rechercher tout ce que vous voulez.
Les modèles RegEx peuvent être aussi simples que la recherche de caractères dans un texte, avec une correspondance complète exacte. Par exemple le motif :
mot de passe
Correspondrait au texte littéral "mot de passe". Ce modèle particulier est sensible à la casse, donc le texte "Mot de passe" ne correspondrait pas puisque le p est en majuscule.
La plupart des sites Web exigent votre mot de passe pour répondre à ces exigences :
Comment pourrions-nous créer un modèle qui recherche ces exigences ? La clé réside dans les métacaractères regex. Les Métacaractères sont des raccourcis prédéfinis pour correspondre à un type de personnage.
Le métacaractère que nous pouvons utiliser pour répondre à la première exigence est :
[a-z]
Les parenthèses sont utilisées pour indiquer à l'ordinateur où commence et se termine la plage. a-z est utilisé pour rechercher des lettres minuscules dans la plage a-z.
[A-Z]
Semblable à a-z, A-Z recherche toutes les lettres majuscules. Réussir la deuxième exigence.
d
Ce métacaractère satisfait à la troisième exigence, il indique à l'ordinateur de rechercher et de faire correspondre n'importe quel chiffre.
W
Ce métacaractère peut être utilisé pour transmettre le quatrième argument car il correspond à n'importe quel caractère autre qu'un mot. Les caractères des mots incluent n'importe quelle lettre majuscule ou non, n'importe quel chiffre et un trait de soulignement.
{8,}
Les accolades sont des caractères spéciaux qui indiquent à l'ordinateur de faire correspondre ce qui l'a précédé x fois. Si une virgule est incluse entre parenthèses, elle change pour correspondre à ce qui précède au moins x fois. Si un deuxième nombre est placé après la virgule, il reprendra le motif précédé au maximum y fois. Si aucun nombre n’est mis après la virgule, l’ordinateur l’interprète comme un nombre infini.
À l'aide de quelques métacaractères supplémentaires :
^ Utilisé pour indiquer le début d'un texte
$ Utilisé pour indiquer la fin d'un texte
() Utilisé pour regrouper des expressions
(?=) Utilisé pour anticiper dans un texte
. Correspond à n'importe quel caractère
* Correspond au jeton précédent entre 0 et des temps illimités
Nous pouvons maintenant rassembler notre modèle d'expression régulière de mot de passe. Le résultat final ressemblera à ceci.
^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*W).{8,}$
À ce stade, vous avez probablement réalisé à quel point les expressions régulières peuvent être puissantes. Ce n'est que la pointe de l'iceberg. Ils peuvent être utilisés pour valider une saisie, faire correspondre du texte, rechercher et remplacer du texte, entre autres.
Si cet article a suscité votre intérêt, je vous recommande de consulter certains des liens ci-dessous.
Pour en savoir plus sur les expressions régulières, consultez ces articles :
Expressions régulières
Expressions régulières Python-Google Education
Pour expérimenter l'écriture de vos propres expressions régulières, visitez regex101
Source du fond d'écran
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!