Parlons maintenant des expressions régulières, les expressions régulières ne sont pas uniques à Python, en fait, vous les voyez
dans tous nos langages de programmation.
Mais je vais vous apprendre rapidement les expressions régulières, car elles sont très utiles,
surtout lorsque vous effectuez, disons, une validation, comme vérifier que quelqu'un a entré le bon e-mail ou que
vous avez des exigences de mot de passe ou que vous voulez vérifier si un morceau de chaîne existe dans un morceau de texte.
C'est donc quelque chose que nous allons explorer dans cette vidéo.
Expressions régulières.
Que sont-ils?
Eh bien, heureusement pour nous, Python est livré avec un module d'expression régulière.
N'oubliez pas que les expressions régulières ne sont pas spécifiques à Python.
Vous pouvez les utiliser à peu près dans n'importe quelle langue, mais ils sont très utiles pour trouver des choses dans un morceau de
texte.
Supposons donc que nous ayons une chaîne ici et que nous puissions dire une recherche de chaîne à l'intérieur.
Suivant s'il-vous-plaît.
On y va.
Maintenant, disons que je voulais chercher quelque chose ici, tout d'abord, pourrais-je faire quelque chose comme ça ?
Puis-je dire recherche ?
Et de la ficelle.
Imprimons ici.
Et si je clique sur exécuter.
Je deviens vrai, et c'est un moyen simple pour nous de rechercher quelque chose à l'intérieur d'une chaîne.
Alors pourquoi avons-nous même besoin d'expressions régulières ?
Eh bien, les expressions régulières sont un peu plus puissantes que cela, car nous voulons peut-être
rechercher combien de fois la recherche se produit dans la chaîne, ou peut-être avons-nous une chaîne compliquée.
Laissez-moi vous montrer ce que je veux dire, la façon dont nous utilisons quelque chose comme les expressions régulières utilise
ce format afin que je puisse dire chaque point, puis ici, utilisez la recherche.
Et comme vous pouvez le voir ici, nous lui donnons un motif et une chaîne et quelques drapeaux.
Nous en reparlerons un peu plus tard.
Donc, tout ce que nous avons à dire, c'est quel modèle voulez-vous faire ?
Eh bien, je veux chercher si cela existe dans la force afin que je puisse dire ceci.
Et puis donnez-lui la force réelle.
Dans notre cas, eh bien, c'est notre force.
Donc si je lance ça.
Eh bien, imprimons ce qui se passe ici, alors imprimons.
Si je clique, cours.
Très bien, j'obtiens ce que j'appelle un objet de correspondance, une expression régulière nous donne une sortie, pas seulement vrai ou faux, mais
un objet réel qui nous donne un peu plus d'informations à ce sujet.
Et vous pouvez voir ici que l'une des informations est l'étendue, donc là où elle apparaît dans la chaîne, elle
apparaît à l'index de 17 et se termine à l'index de 21.
Donc c'est vraiment utile.
Conservons ces informations et disons simplement ici.
Alors, que pouvons-nous faire avec cet objet match ?
Eh bien, la première chose que nous pouvons faire est de vérifier ce que nous avons.
Donc, nous avons, tout d'abord, spane, que nous avons vu, et si je lance ceci.
Il me dit où se trouve la chaîne en tant que tuple, donc un index de 17 à un index de vingt et un, je
peux également faire démarrer et démarrer.
Eh bien, me dit quand le texte commence et je peux aussi faire groupe ou en fait je peux aussi faire fin pour me montrer où il
se termine.
Et puis je peux aussi faire du groupe.
Et le groupe renvoie la partie de la chaîne où il y avait la correspondance et disons qu'il y avait un autre ceci ici,
si je clique sur exécuter, vous voyez cela?
Eh bien, cela ne me donne que ce morceau ou une partie de la force qu'il y avait dans le match.
Aucun groupe n'est vraiment utile lorsque nous essayons de faire plusieurs recherches.
Donc, dans notre cas, nous ne faisons qu'une seule recherche.
Nous avons donc un modèle que nous essayons de faire correspondre, mais il existe un moyen de faire plusieurs recherches sur une
seule ligne.
Mais avant que je vous montre que se passe-t-il si nous faisons quelque chose qui n'existe pas, comme ça
avec un faux comme un majuscule ?
J'obtiens une erreur parce que maintenant A va être aucun, car si l'expression régulière ne trouve rien, elle ne
retournera pas, donc elle va retourner une correspondance, objet ou non.
Maintenant, comment pouvons-nous faire cela plus avancé?
Eh bien, une chose que nous pouvons faire est de créer un modèle que nous voulons vérifier.
Alors disons modèle ici.
Et ce modèle, nous allons utiliser une expression régulière, dot com pop.
Et le campell va nous permettre de donner, comme nous l'avons fait ici, un modèle.
Disons donc ici que je veux simplement vérifier cela maintenant, ce modèle que je peux utiliser au lieu de simplement faire toutes
les recherches, je peux simplement utiliser le modèle maintenant.
Pour faire la recherche pour moi.
Donc, encore une fois, si je lance ceci.
Eh bien, maintenant je n'ai plus besoin de le passer, je dois juste le passer, cette boisson que nous voulons rechercher.
Voir que cela est capturé et que je peux utiliser le motif maintenant partout plusieurs fois, alors disons que je
peux faire des points de motif toutes les méthodes que nous avons.
Nous en avons beaucoup, en fait.
Laissez-moi vous montrer quelques-uns des plus utiles.
Nous avons trouver tout ce qui trouve tout le.
Instances du match, alors disons ici être.
Et cliquez sur exécuter.
Regarde ça, j'ai ça.
Et ça.
J'obtiens donc les deux instances de ceci à l'intérieur d'une liste.
Je peux aussi faire quelque chose comme un match complet et un match complet, eh bien, en m'assurant que tout correspond parfaitement.
Donc, si je clique sur exécuter ici, princi ici cliquez sur exécuter.
Je n'en reçois aucun parce que je n'obtiens pas un match complet pour qu'un match complet renvoie le match.
Il doit s'agir de la chaîne exacte que nous recherchons.
Donc si je clique, cours.
Voilà, je reçois un objet match maintenant.
Maintenant, disons que j'ai un point d'interrogation ici au lieu d'un point d'exclamation, si je clique sur Exécuter.
Ce n'est pas si j'ai un point d'exclamation et puis peut-être autre chose après, je n'en reçois toujours pas.
Nous avons également une autre option, qui est le match.
Et match, comme vous pouvez le voir, correspond à zéro ou plusieurs caractères au début de la chaîne.
Donc, si je fais une chaîne ici et que j'imprime bien D, en fait, permettez-moi de changer cela, faisons ici Andre et la chaîne que nous comparons en
fait et si je clique sur exécuter.
J'obtiens toujours un objet de correspondance par rapport à si je vois qui utilise une correspondance complète.
Ce qui me donne Ainun, parce que, eh bien, nous voulons seulement une correspondance exacte ici par rapport à une correspondance qui correspond à la chaîne et ne
se soucie pas de ce qui vient ensuite.
C'est donc extrêmement utile.
Mais jusqu'à présent, je veux dire, nous avons quelques méthodes que nous pouvons utiliser, qui sont très utiles,
mais cela ne semble pas si puissant.
Pourquoi toutes les langues ont-elles des expressions régulières ?
Pourquoi nous en soucions-nous vraiment ?
Eh bien, dans la vidéo suivante, nous allons explorer cette idée de modèle et comment nous pouvons créer
des modèles vraiment avancés.
Je verrai dans la prochaine vidéo par.