Expressions régulières en Python: un guide du débutant

Contenu

Cet article a été publié dans le cadre de la Blogathon sur la science des données

Expressions régulières, également reconnu comme “expression régulière” O “expression régulière”, sont utilisés pour faire correspondre des chaînes de texte, en tant que personnages, mots ou modèles de caractères particuliers. Cela signifie que nous pouvons faire correspondre et extraire n'importe quel modèle de chaîne du texte à l'aide d'expressions régulières. j'ai utilisé deux termes, rencontre Oui Extraire Oui les deux termes ont un sens légèrement différent. Il peut y avoir des cas où nous voulons faire correspondre un modèle spécifique mais en extraire un sous-ensemble. Par exemple, nous voulons extraire les noms des doctorants d'une liste de noms de personnes dans une organisation.

Pour ce cas, nous le ferons rencontre la mot-clé “Dr XYZ” Oui Extraire juste le nom, En d'autres termes, “XYZ”, pas le préfixe “Dr.” de la liste. Regex est très utile pour rechercher dans les textes, e-mails et documents volumineux. Regex est aussi appelé “langage de programmation pour la correspondance de chaînes”. Avant de plonger dans regex et son implémentation en Python, il est essentiel de connaître ses applications dans le monde réel.

Applications

Validation du formulaire

L'utilisation la plus courante des expressions régulières est la validation de formulaire, En d'autres termes, validation e-mail, validation du mot de passe, validation du numéro de téléphone et de nombreux autres champs de formulaire.

détails de compte en banque

Vous devez avoir remarqué que chaque banque a un code IFSC pour ses différentes agences qui commence par le nom de la banque. Le numéro de carte de crédit se compose de 16 chiffres et les premiers chiffres représentent si la carte est maître, Visa ou Rupay. Dans tous ces cas, regex est utilisé.

Traitement de l'information

Comment oublier la pertinence des regex dans le data mining? Lorsque les données sont présentes sous forme non structurée, En d'autres termes, sous forme de texte, il est nécessaire de les convertir en nombres pour entraîner le modèle. Pour cela, l'expression régulière joue un rôle important dans l'analyse des données, trouver des modèles dans les données et, finalement, effectuer des opérations sur l'ensemble de données.

PNL

La PNL est une procédure par laquelle un ordinateur comprend et génère le langage humain. et PNL, les expressions régulières sont utilisées pour supprimer les mots inutiles, En d'autres termes, arrêter les mots du texte, qui aide à nettoyer les données. Regex est également utilisé pour analyser des textes et, pour cela, aide à prévoir l'algorithme pour traiter les données.

Plateformes de médias sociaux

Les plateformes de réseaux sociaux comme Google, Facebook, Twitter propose diverses techniques de recherche, qui sont différents et efficaces d'une recherche normale. crème, si vous connaissez ces techniques, peut explorer beaucoup plus. Tous ces techniciens utilisent des expressions régulières dans le backend pour traiter ces recherches.

Vous pouvez penser à d'autres applications regex chaque fois que la correspondance de modèle est requise.

Modèles génériques

Les plus petites unités individuelles au moyen des expressions régulières qui sont formées sont appelées modèles génériques.. La liste des modèles couramment utilisés est

^

Ce joker correspond aux caractères en début de ligne.

PS

Ce caractère générique correspond aux caractères en fin de ligne.

.

Ce caractère générique correspond à n'importe quel caractère de la ligne.

s

Ce caractère générique est utilisé pour faire correspondre l'espace dans une chaîne.

S

Ce caractère générique correspond aux caractères qui ne sont pas des espaces.

Ce caractère générique correspond à un chiffre.

*

Ce caractère générique répète tout caractère précédent zéro ou plusieurs fois. Correspond à la plus longue chaîne possible.

*?

Ce caractère générique répète également tout ou plusieurs caractères précédents zéro ou plusieurs fois. Malgré cela, correspondre à la chaîne la plus courte suivant le modèle.

+

Ce caractère générique répète n'importe quel caractère précédent une ou plusieurs fois. Faites correspondre la chaîne la plus longue possible suivant le modèle.

+?

Ce caractère générique répète n'importe quel caractère précédent une ou plusieurs fois. Malgré cela, correspond à la chaîne possible la plus courte suivant le modèle.

[aeiou]

Correspond à n'importe quel caractère dans un jeu de caractères spécifié.

[^XYZ]

Correspond à n'importe quel personnage non inclus dans l'ensemble.

[a-z0-9]

Correspond à n'importe quel caractère donné en az ou 0-9.

(

Ce caractère générique représente le début de l'extraction de la chaîne.

)

Ce caractère générique représente la fin de l'extraction de la chaîne.

Exemples de

Si vous souhaitez extraire des nombres d'un document, l'expression régulière sera: [0-9]+

Si vous souhaitez extraire tous les caractères autres que les nombres, l'expression régulière sera: [^0-9]+

Pour extraire un motif tel qu'un nom commence par “UNE” et finir par “h”, l'expression régulière sera: ^ Un[a-zA-Z]+ h $

Une expression régulière plus complexe si vous souhaitez extraire l'adresse e-mail est: ^[a-zA-Z][a-zA-Z0-9 ._ + -][email protégé][A-Za-z]+.[A-Za-z]

Regex de bâtiment!

Regex peut être très complexe. Comprendre et construire des expressions régulières complexes est un art qui s'apprend en faisant. Vous pouvez vous référer ici pour apprendre à construire des expressions régulières complexes.

Implémentation Python

Regex est fourni par de nombreux langages de programmation, comme python, Java, javascript, etc. Même si le concept est le même partout, peut trouver des différences dans différentes langues.

Nous allons maintenant examiner les différentes fonctions fournies par python pour implémenter des expressions régulières avec votre code.

Python ne fournit pas de module regex intégré. Vous devez l'installer à l'aide de la commande pip puis l'importer dans votre IDE Python. Plus tard, nous stockons du texte dans une variable appelée chaîne.

pip installer re
importation re
chaîne = "Virat Kohli est l'un des plus grands joueurs de l'équipe indienne de cricket. Il est né en novembre 5, 1988, à Delhi.nIl a terminé ses études à l'école Vishal Bharti.nIn 2008, il a remporté la Coupe du monde pour l'Inde sur les enfants d'Omar de moins de 19 années. De 2011, il a commencé les matchs de cricket d'essai. nIl est actuellement le capitaine des trois formats de l'Inde.n En 2017, Virat Kohli s'est marié avec l'actrice hindi Anushka Sharma.nVirat a remporté deux fois l'Homme du Tour, dans 2014 et 2016. nDepuis 2008, il a représenté les équipes à domicile de Delhi. nIl a reçu le prix Arjuna en reconnaissance des réalisations du cricket international."

méthode de correspondance

Cette fonction recherche le motif RE au début de la chaîne et renvoie l'objet de correspondance de la chaîne. Vous pouvez entrer la valeur dans l'objet via la fonction de groupe (). La syntaxe de la fonction match est

re.faire correspondre (Modèle, chaîne, banderas)

Les Modèle représente l'expression régulière, la corde représente le texte à trouver pour correspondre au modèle, et les drapeaux représentent les modificateurs. Si nous voulons appliquer des conditions en appariement, nous utilisons des drapeaux. c'est un paramètre optionnel.

code python

motif=r'(^[V].+?)s'
imprimer(re.faire correspondre(modèle,chaîne de caractères))      # Renvoie l'objet match
imprimer(re.faire correspondre(modèle,chaîne de caractères).grouper()) #Extraire la valeur de l'objet

PRODUCTION

Virat

Cette fonction correspond si la première chaîne commence par V.

méthode de recherche

cette fonction recherche la première occurrence du motif RE dans la chaîne donnée. Cette fonction renvoie également l'objet match si le motif est trouvé; cas contraire, ne renvoie aucun. La syntaxe est

recherche (Modèle, chaîne)

Notez que rencontre trouve une correspondance uniquement au début de la chaîne, tandis que chercher cherche une première correspondance n'importe où dans la chaîne.

code python

motif=r'[0-9]+'
recherche(modèle,chaîne de caractères)      # Renvoie l'objet match
imprimer(recherche(modèle,chaîne de caractères).grouper())

PRODUCTION

Cette fonction renvoie le premier nombre présent dans le texte.

méthode findall

Cette fonction renverra toutes les occurrences du motif RE dans la chaîne. La syntaxe de findall est

re.trouver (Modèle, corde)

code python

motif=r'[0-9]+'
imprimer(re.trouver(modèle,chaîne de caractères))

PRODUCTION

['5', '1988', '2008', '19', '2011', '2017', '2014', '2016', '2008']

Cette fonction extrait tous les nombres du texte.

sous-méthode

Cette fonction est utilisée pour remplacer toutes les occurrences du motif RE par la nouvelle chaîne / Modèle. La syntaxe est:

re.sub (Modèle, réponse, chaîne)

code python

repl = r'Chiku ‘

imprimer (re.sub (Modèle, réponse, chaîne))


PRODUCTION

"Chiku Kohli est l'un des plus grands joueurs de l'équipe indienne de cricket. Il est né en novembre 5, 1988, à Delhi.nIl a terminé ses études à l'école Vishal Bharti.nIn 2008, il a remporté la Coupe du monde pour l'Inde sur les enfants d'Omar de moins de 19 années. De 2011, il a commencé les matchs de cricket d'essai. nIl est actuellement le capitaine des trois formats de l'Inde.n En 2017, Virat Kohli s'est marié avec l'actrice hindi Anushka Sharma.nChiku a remporté deux fois l'Homme du Tour, dans 2014 et 2016. nDepuis 2008, il a représenté les équipes à domicile de Delhi. nIl a reçu le prix Arjuna en reconnaissance des réalisations du cricket international."

Ce rôle remplace Virat par Chiku, En d'autres termes, Le surnom de Kohli.

Ce sont les fonctions les plus utilisées du module “ré”. Vous pouvez vous référer concernant la documentation pour plus de détails.

résumé

Nous commençons par une définition de base des expressions régulières, puis discutons de ses diverses applications. Plus tard, nous avons appris à former des expressions régulières en utilisant des caractères génériques. Finalement, nous implémentons plusieurs outils regex en Python.

Les références

photo principale – https://www.codingforentrepreneurs.com/blog/python-regular-expressions/

Sur moi

Salut! Soja Ashish Choudhary. J'étudie le B.Tech de l'Université des sciences et technologies JC Bose. La science des données est ma passion et je suis fier d'écrire des blogs intéressants à ce sujet. N'hésitez pas à me contacter au LinkedIn.

Les médias présentés dans cet article ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.