Python

Expressions régulières en Python

Expressions régulières en Python
Dans cet article, nous examinerons brièvement les expressions régulières en python. Nous allons travailler sur des fonctions intégrées avec des exemples suivis d'un tableau qui explique ce que signifie chaque caractère dans l'expression régulière pour une meilleure compréhension.

Qu'est-ce qu'une expression régulière?

Avant de passer à des exemples pratiques, nous devons savoir ce qu'est réellement une expression régulière. Une expression régulière est une séquence de caractères qui définit la structure d'une entrée ou d'un modèle de recherche. Imaginez mettre un e-mail ou un mot de passe sur un site Web aléatoire comme Facebook, Twitter ou Microsoft. Essayez de vous tromper et par mal, je veux dire essayer d'aller à l'encontre de leur convention. Il vous signalera clairement ces erreurs. Vous ne serez pas autorisé à passer à l'étape suivante tant que votre entrée ne correspondra pas au modèle qu'ils ont défini dans le backend. Ce modèle spécifique, qui vous empêche de mettre toute sorte d'informations supplémentaires ou non pertinentes, est connu sous le nom de regex ou expression régulière.

Expressions régulières en Python

Les expressions régulières ne jouent pas un rôle différent en python comme dans d'autres langages de programmation. Python contient le module qui fournit un support complet pour l'utilisation des expressions régulières. À chaque fois qu'une information inappropriée ou non concordante est saisie ou qu'une erreur se produit, cette le module va l'attraper comme une exception qui aide finalement à résoudre les problèmes requis.

Modèles d'expressions régulières

Il y a beaucoup de caractères disponibles écrits dans une séquence qui crée un modèle d'expression régulière spécifique. Sauf pour les caractères de contrôle, (+ ? . * ^ $ ( ) [ ] | \), tous les caractères se correspondent. Cependant, les caractères de contrôle peuvent être échappés en pré-écrivant une barre oblique inverse.

Voici un tableau qui se compose d'un modèle et d'une description de leur fonctionnement en python.

Schéma La description
[Pp]ython Faites correspondre « Python » ou « python »
Baignoire[Ee] Faites correspondre « TubE » ou « Tube »
[aeiou] Correspond à n'importe quelle voyelle minuscule
[0-9] Faites correspondre n'importe quel chiffre entre 0 et 9
[a-z] Correspond à n'importe quelle lettre ASCII minuscule
[A-Z] Correspond à n'importe quelle lettre ASCII majuscule
[a-zA-Z0-9] Correspond à n'importe quelle lettre ASCII minuscule ou majuscule
ou un chiffre entre 0 et 9
[^aeiou] Correspond à n'importe quoi mais pas aux voyelles minuscules
[^0-9] Correspond à n'importe quoi mais pas à un chiffre
. Correspond à n'importe quel caractère sauf nouvelle ligne
\ré Faites correspondre n'importe quel chiffre : [0-9]
\RÉ Faire correspondre un non-chiffre : [^0-9]
\s Faire correspondre les espaces blancs
\S Faire correspondre les espaces non blancs
\UNE Faire correspondre le début de la chaîne
\Z Faire correspondre la fin de la chaîne
\w Faire correspondre les caractères des mots
\W Faire correspondre des caractères autres que des mots
[…] Faire correspondre n'importe quel caractère entre parenthèses
[^… ] Faire correspondre n'importe quel caractère non entre parenthèses
$ Faire correspondre la fin de la ligne
^ Faire correspondre le début de la ligne

Fonctions de correspondance et de recherche en Python

Maintenant, nous allons voir ici deux exemples avec les deux fonctions intégrées qui existent en python. L'un est la correspondance et l'autre est la fonction de recherche. Les deux prennent les mêmes paramètres qui sont les suivants :

Avant de passer à l'exemple, voici une autre chose que vous devez savoir. Deux méthodes peuvent être utilisées pour obtenir les groupes correspondants qui sont les suivants :

Ce qui se passe, c'est que lorsque des fonctions de correspondance ou de recherche sont utilisées, elles créent des sous-groupes de tous les modèles connexes trouvés dans les chaînes et les structurent à des positions commençant à 0. Voir l'exemple ci-dessous pour avoir une meilleure idée.

Fonction de correspondance (exemple)

Dans l'exemple suivant, nous avons pris une liste dans laquelle nous avons utilisé une expression régulière qui vérifie les mots commençant par la lettre 'a' et ne sélectionnera que si les deux mots commencent par la même lettre i.e.: 'une'.

importation re
arraylist = ["affection affect", "affection act", "affection Programming"]
pour l'élément dans la liste de tableaux :
k = re.match(“(a\w+)\W(g\w+)”, élément)
si k :
imprimer((z.groupes()))

Production:

('affection', 'affection')
('affection', 'acte')

Le troisième élément de la liste ne sera pas pris en compte car il ne correspond pas à l'expression régulière qui dit que les deux mots doivent commencer par "a".

Fonction de recherche (exemple)

Cette fonction est différente de match. La recherche parcourt toute la phrase alors que la correspondance ne le fait pas. Dans l'exemple suivant, la méthode de recherche est réussie mais la fonction de correspondance n'est pas.

importation re
Entrée = "DocumentationNouveau"
v = re.recherche ("(ta.*)", Contribution)
si v :
print(« résultat : » v.groupe 1))

Production:

résultat : tationNouveau

'ta.*' signifie n'importe quoi après 'ta' qui nous donne notre résultat en tant que 'tationNew' à partir de l'entrée recherchée "DocumentationNew".

Conclusion

Les expressions régulières sont cruciales pour tous les développeurs de logiciels et vous pouvez maintenant voir facilement comment utiliser les expressions régulières dans le langage de programmation Python.

Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...
Comment inverser le sens de défilement de la souris et des pavés tactiles dans Windows 10
Souris et Pavé tactiles rendent non seulement l'informatique facile, mais plus efficace et moins chronophage. Nous ne pouvons pas imaginer une vie san...