Masterclass complète d'expressions régulières en Python ! Du débutant au avancé | Naser Jamal | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Masterclass complète d'expressions régulières en Python ! Du débutant au avancé

teacher avatar Naser Jamal, Computer Engineer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Pourquoi des expressions régulières ?

      2:31

    • 2.

      Introduction - Vérifier les e-mails des utilisateurs en utilisant Regex

      6:23

    • 3.

      Méthodes de recherche de jumelles

      3:42

    • 4.

      Méthodes pour des objets de correspondance

      3:30

    • 5.

      Extraire des données utiles

      16:22

    • 6.

      Tri de fichiers de données non ordonnés

      12:53

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

92

apprenants

--

projets

À propos de ce cours

Dans ce cours de Python, nous apprendrons tout sur les expressions régulières (Regex) en Python expressions

régulières ne sont pas aussi difficiles à maîtriser qu'elles semblent au début, alors vous pouvez vous mettre en place pour un voyage d'apprentissage 100 % pratique !

CE QUE VOUS APPRENDREZ :

  • Vous apprendrez les bases des expressions régulières en Python dès le début.
  • Vous passerez de Débutants à Avancés en capacités d'appariement de motifs en Python.
  • Vous pourrez appliquer ces compétences pour résoudre des problèmes réels.

Pourquoi suivriez-vous ce cours ?

  • Vous voulez être en mesure d'automatiser des tâches qui prendraient des heures en quelques secondes ?
  • Voulez-vous améliorer vos compétences en programmation Python sans passer trop de temps ?

  • Avez-vous déjà été confondu par le sujet Expressions régulières et souhaité un guide d'apprentissage détaillé étape par étape ?

  • Vous souhaitez être en mesure de faire des tâches d'appariement de motifs de base à avancées en utilisant la puissance incroyable de Python ?

Exigences

  • Aucune connaissance de la programmation n'est requise.
  • Pas besoin d'installer du python, vous pouvez utiliser des compilateurs en ligne de Python.
  • Système d'exploitation Windows / Linux / MacOS.


Des expressions régulières peuvent être utilisées pour la recherche de motifs allant de la validation des e-mails à l'appariement de n'importe quelle séquence d'une chaîne.
C'est un outil très puissant pour faire correspondre des motifs de texte. Ce cours couvre tous vos besoins pour avoir une compréhension complète de l'expression régulière ! Nous apprendrons tout cela par un processus étape par étape !

Rencontrez votre enseignant·e

Teacher Profile Image

Naser Jamal

Computer Engineer

Enseignant·e

Hello, I'm Naser.

I try to simplify complicated programming topics and present them into short and bite-sized videos!

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Pourquoi des expressions régulières ?: Bonjour et bienvenue dans la masterclass complète des expressions régulières Python. Ce cours est entièrement mis à jour et interactif avec un apprentissage pratique pour vous guider de 0 héros et apprendre Python RegEx. Pourquoi des expressions régulières ? Python est l'un des langages de programmation les plus populaires et à la croissance la plus rapide au monde, et il devrait croître encore plus à l'avenir. Donc, si vous bâtissez votre carrière programmeur ou de scientifique des données et que vous voulez vous démarquer du reste de la foule, en apprenant une seule compétence technique ou l'expression régulière de Scalar. . Que pouvez-vous faire avec les expressions régulières ? Vous pouvez automatiser les tâches qui seront exécutées en quelques secondes. Vous pouvez effectuer des tâches avancées de correspondance de boutons en utilisant l' incroyable puissance de Python, vous pouvez lire, saler et réécrire des données selon vos propres besoins. Et la meilleure chose à ce sujet, c'est que c'est si simple et simple en quelques lignes de code vous pourrez effectuer des tâches qui prendraient des heures à effectuer manuellement. Et maintenant, lançons notre programme et voyons à quoi il ressemble. Cela semble beaucoup plus lisible et beaucoup plus facile à utiliser. Nous allons ouvrir le premier fichier à côté et les combiner ensemble. La différence est le jour et la nuit. C'est ce que nous avons fait. Et quelles 15 lignes de code moins l'espacement. Il aurait fallu beaucoup de temps pour le trier manuellement. Et il y a aussi la possibilité d'une erreur humaine, qui pourrait gérer l' ensemble de la base de données pour nous. Au lieu de cela, avec peu de lignes de code, nous laissons la machine faire le travail et éliminer la possibilité de manquer une valeur de deux et de créer un effet boule de neige qui exécute nos données. Alors, à qui s'adresse ce cours ? Les débutants qui n'ont jamais programmé programmeurs provenant de langues différentes. programmeurs ne sont pas des Python basiques, mais veulent améliorer leurs compétences. Quels sont donc les coûts réels ? Jetons d'abord un coup d'œil. Je vais vous donner une brève introduction sur la façon d' utiliser le médicament X dans votre programme Python. Ensuite, nous écrirons notre premier modèle pour vérifier le courrier électronique de l'utilisateur à l'aide de RegeX. Ensuite, nous examinerons différentes méthodes de recherche, associerons objets et montrerons comment ils fonctionnent en résolvant les problèmes. Ensuite, nous apprendrons comment extraire des données utiles et nous utiliserons un outil qui faciliterait grandement les motifs de ceintures. Enfin, nous aurons un exercice réel où nous recevrons un fichier invité à y lire, trier les valeurs dans un ordre spécifique, puis écrire la nouvelle liste triée et un autre fichier. Nous allons passer par tout cela et plus encore en temps opportun. Ce cours est conçu pour être court, concis et direct . Vous pourriez perdre moins de temps en théorie et plus de temps dans l'expérience pratique. Alors, qu'attendez-vous ? Il est temps pour vous de faire passer vos compétences en programmation au niveau supérieur, inscrire aujourd'hui, et je vous verrai dans le cours. 2. Introduction - Vérifier les e-mails des utilisateurs en utilisant Regex: Bonjour et bienvenue dans ma vidéo. Aujourd'hui, nous allons examiner les expressions régulières. Les expressions régulières ou regex peuvent être utilisées pour vérifier si une chaîne contient un modèle spécifié. C'est un outil puissant pour trouver des motifs dans un texte. Jetons un coup d'œil. Par exemple, nous voulons vérifier le courrier électronique de l'utilisateur à l'aide de RegeX. La première chose que nous devons faire pour commencer à utiliser RegEx est d'importer le module RE. Supposons maintenant qu'il s'agit de l'adresse e-mail que nous voulons vérifier. Nous allons maintenant créer un bouton et définir les règles pour ce bouton que nous voulons vérifier. Nous devons maintenant diviser l'adresse e-mail en quatre parties pour mieux comprendre la première partie, qui reçoit un snap ou un identifiant utilisateur, elle peut contenir un à Z et 0 à neuf. Au début, nous utilisons la carotte ou le symbole circonflexe pour initialiser cela. Nous voulons faire correspondre une chaîne qui commence par ce qui suit. Et pour mettre fin à ce schéma, nous utiliserons le symbole du dollar. Mais bien sûr, nous voulons ajouter d'autres chaînes de magasin de condition. Vous n'allez pas y mettre fin maintenant, la deuxième chose que nous saisissons de A à Z et de 0 à neuf. Cela signifie que cette partie de la chaîne peut contenir n'importe quelle lettre dans n'importe quel nombre. Nous allons maintenant taper un symbole plus indiquant que cela peut se produire une ou plusieurs fois. Le nom du destinataire peut également inclure des symboles tels que point, trait de soulignement et tiret. soulignement et tiret de période. Nous utilisons la barre oblique inverse pour définir nos caractères spéciaux, nos points , nos traits de soulignement et nos tirets. Nous utilisons le point d'interrogation ici car ces symboles peuvent être utilisés soit 0, soit un au plus s' ils se produisent deux fois, ce qui signifie qu'il s'agit d'un e-mail non valide. C'est pourquoi nous avons dû le préciser avec un symbole de point d' interrogation. Maintenant, après ces symboles, vous pouvez également avoir tous les caractères de a à Z et de 0 à 9. Après les symboles que nous avons spécifiés, le trait de soulignement de la période et le tiret, nous pouvons avoir des lettres de a à Z ou des chiffres de 0 à neuf. Juste comme ça. Encore une fois, nous utiliserons le symbole plus car ils peuvent apparaître plus d'une fois. Nous devons maintenant écrire le symbole d'ajout, qui se produit ici. Ensuite, après le symbole d'ajout, nous aurons des choses comme Hotmail ou Gmail, etc. Il peut donc s'agir de n'importe quel caractère alphanumérique. Ensuite, après l'annonce Hotmail vient la période. Nous devons donc préciser cela. Maintenant, après la période vient des choses comme .com.net. Ils ont généralement une longueur comprise entre deux et trois caractères. Nous devons donc préciser cela. Nous allons maintenant utiliser le symbole dollar pour mettre fin à notre chaîne. Maintenant que notre modèle est terminé, nous voulons recevoir des commentaires de l'utilisateur en lui demandant d' entrer son e-mail. Nous allons maintenant créer une boucle F pour vérifier le bouton nous utiliseraient-ils ? Ainsi, la méthode re.search prendra deux arguments. Le premier est le bouton que nous avons créé. Le second est l'entrée de l'utilisateur ou la chaîne que nous voulons vérifier. Lançons donc notre programme et voyons à quoi il ressemble. Nous allons donc entrer cette même adresse e-mail. Je crois donc que l'erreur que j' ai commise a été de laisser un espace ici. Et quand je retire l' espace, ça fonctionne très bien. Une carte phonétique de haut type plutôt que génétique. Voyons donc si nous avons saisi un e-mail non valide exprès, comme générique. Ensuite, j'ai utilisé un autre e-mail simple et valide. Eh bien, d'après tout, notre programme fonctionne très bien. Voyons donc un autre exemple. Supposons que nous voulions rechercher un certain bouton sur la chaîne suivante. Il semble donc que le majuscule a a été répété deux fois. Et nous voulons vérifier ce schéma dans notre propre modèle. Pour ce faire, nous allons d'abord définir notre bouton. Ici. Nous allons utiliser la méthode de compilation. Nous pourrions également utiliser la méthode de recherche comme dans l'exemple précédent. Donc, R ici avant notre chaîne signifie chaîne brute, python, chaîne brute traite barre oblique inverse comme un caractère littéral. Cela est utile lorsque nous avons une chaîne contenant une barre oblique inverse n. Je ne veux pas qu'elle soit traitée comme un caractère d'échappement. Voyons donc la différence entre une chaîne régulière et des cordes brutes. Le premier, qui est une chaîne normale, a donc qui est une chaîne normale, traité la barre oblique inverse n comme un caractère d'échappement. Dans ce cas, il est utilisé pour commencer une nouvelle ligne. Et comme vous pouvez le voir, cependant, dans la deuxième chaîne, qui est une chaîne brute, elle a ignoré les utilisateurs de barre oblique inverse et la traite comme un caractère littéral. De même, si nous avons remplacé la barre oblique inverse n par la barre oblique inverse x, nous aurons une flèche et la chaîne normale car la barre oblique inverse x n'a pas de but. Cependant, notre chaîne brute, nous allons l'ignorer et l' imprimer tel quel. Revenons donc à notre chaîne de test. Nous allons maintenant créer un objet. Nous tapons donc le bouton que nous allons utiliser. Nous allons maintenant utiliser la méthode find. À l'intérieur de la méthode ETL définie, nous allons taper nos tests rétrécissement. Nous avons maintenant créé un objet appelé correspondances que nous pouvons parcourir en utilisant suffisamment de flux. Comme vous pouvez le constater, il montre deux occurrences d'un moment montrant leur position. De plus, il est sensible à la casse, ce qui signifie qu'il n'a pas capté la minuscule a. Nous pouvons également raccourcir notre code en utilisant r e, trouver Eta immédiatement. Par exemple. Maintenant, nous allons taper le bouton que nous voulons rechercher, qui est a0. Ensuite, le deuxième argument nous transmettrons la chaîne que nous voulons tester. Comme vous pouvez le constater, il renvoie les mêmes résultats avec moins de lignes de code. C'est donc tout pour la vidéo d'aujourd'hui. Merci beaucoup d'avoir regardé et j'espère vous voir dans le prochain. 3. Méthodes de recherche de jumelages: Bonjour et bienvenue dans ma vidéo. Aujourd'hui, nous allons examiner méthodes de recherche de correspondances. Donc, dans la dernière vidéo, nous avons travaillé sur cet exemple, qui a utilisé trouver mieux. Il existe d'autres méthodes pour rechercher des correspondances, telles que la correspondance, la recherche et la recherche. Trouvez-le donc pour renvoyer un objet avec la position de la chaîne que nous recherchions. Cependant, Find all renvoie uniquement une chaîne, par exemple. C'est donc ce qui a tout trouvé. Qu'y a-t-il de la méthode de correspondance ? La méthode de correspondance recherche le bouton uniquement au début de la chaîne et renvoie uniquement la première occurrence, par exemple. Comme vous pouvez le constater, il n'a pas renvoyé la deuxième occurrence d'un. Maintenant, modifions le bouton. Nous voulons le chercher pour autre chose qu'un, par exemple, comme vous pouvez le constater, il n'y a rien de retour. Donc, même si les cinq neuvième huit se sont produits dans notre corde, mais comme ce n'était pas au début, il n'y a rien de retour. Alors, qu'en est-il de la recherche ? recherche fonctionne très semblable pour trouver mieux. Cependant, il ne renvoie que la première occurrence du motif, par exemple. Ainsi, les quatre méthodes de correspondance les plus courantes, ou trouver une meilleure recherche, trouver toutes et correspondre. Jetons donc un coup d' œil à cet exemple. Nous avons la chaîne suivante qui indique 3$ pour la chemise, nous n'utiliserions pas RegEx pour vérifier si la chaîne commence par un chiffre. Dans ce cas, il y en a trois. Et si c'est le cas, nous imprimerons ce chiffre. Alors, importons d'abord RE. Ensuite, nous allons créer une chaîne et mettre ce texte à l'intérieur. Nous voulons maintenant créer un bouton que nous voulons rechercher. Et nous allons utiliser des cordes brutes. Comme d'habitude, nous allons taper notre barre oblique inverse de bouton t. barre oblique inverse d signifie un chiffre, ce qui est exactement ce que nous avons ici. Maintenant que nous avons créé un bouton, créons un objet de correspondance. Ici, nous passerions notre bouton, puis nous passerons dans notre corde. Maintenant, nous pouvons simplement dire F, ce qui signifie que si S est vrai, puis imprime ce qui suit. Vous pouvez demander si la citation est un groupe de points apparié, groupe est une méthode de l'objet de correspondance. Et ce qu'il fait simplement, c'est qu'il renvoie la chaîne correspondante, qui dans ce cas est trois. Nous examinerons de plus près méthodes Match dans la prochaine vidéo. Mais pour l'instant, le groupe va nous rendre le numéro trois. Alors lançons notre programme et voyons à quoi il ressemble. Donc, même si nous changeons ce nombre à cinq, il en retournera cinq. Donc, si nous n'utilisons pas la méthode du groupe, c'est ce que nous allons obtenir. Vous allez obtenir l'objet de match complet. Nous ne voulions que la ficelle cinq. C'est pourquoi nous utilisons la méthode des groupes de points. C'est donc tout pour la vidéo d'aujourd'hui. Merci beaucoup d'avoir regardé et j'espère vous voir dans le prochain. 4. Méthodes pour les objets de correspondance: Bonjour et bienvenue dans ma vidéo. Ainsi, dans la dernière vidéo, nous avons vu comment se retrouver avec le retour un objet que nous pouvions parcourir en utilisant suffisamment de boucle. Cette correspondance d'objet lui-même a donc ses propres méthodes et nous allons les jeter un coup d'œil. Ce sont les méthodes qui commencent, grandissent et s'étendent. Ainsi, comme vous pouvez le constater lorsque nous imprimons le résultat, il renvoie cet objet. Nous ne pouvons imprimer la span ici qu'à l'aide de span pour cela, nous allons utiliser Match dot span. Maintenant, lorsque nous exécutons notre programme, nous obtiendrons un tuple contenant notre étendue que cela peut être utile si nous voulons imprimer exactement où notre motif s'est produit. Par exemple, comme vous pouvez le constater, cela semble plus lisible par l'utilisateur. Si nous imprimons le type de cette méthode de correspondance de points, nous découvrirons qu' il s'agit simplement d'une table qui inclut la position, ce que notre correspondance a eu lieu. Nous pouvons également imprimer les positions de début et de fin de notre chaîne en utilisant le début et la fin. Jetons un coup d'œil. Correspondance, puis correspondance par des virgules. Donc, pour renvoyer les entiers de nos positions de départ et de fin, nous pourrions faire quelque chose comme ça. Et lorsque nous imprimons son type, découvrirai qu' il ne s'agit que d'un entier. Enfin, si nous voulons uniquement imprimer la chaîne qui correspondra, nous utiliserons un groupe. Et comme prévu, lorsque nous imprimons son type, nous apprenons qu'il s'agit d'une chaîne. Donc, en conclusion, correspond à un objet qui contient la plage dans laquelle le modèle de barre oblique de correspondance s'est produit. Et il contient également la chaîne correspondante. Nous pouvons accéder à des composants individuels de cette correspondance en utilisant les méthodes que nous avons passées par la méthode start pour obtenir un entier la méthode start pour obtenir un entier de la position de départ dans laquelle le motif a commencé. Méthode pour obtenir un entier, la position de fin dans laquelle le bouton s'est terminé. Méthode de groupe pour obtenir la chaîne correspondante. Et enfin, la méthode span pour obtenir une table qui inclut la position de début et de fin du bouton. C'est donc tout pour les bases. Et dans la prochaine vidéo, nous examinerons comment extraire des données utiles à l'aide du X rouge fins de science des données ou de documentation. C'est donc tout pour la vidéo d'aujourd'hui. Merci beaucoup d'avoir regardé et j'espère vous voir dans le prochain. 5. Extraire des données utiles: Bonjour et bienvenue dans ma vidéo. Aujourd'hui, nous allons apprendre à extraire des données utiles et à élever nos compétences en expression régulière à un tout autre niveau. Dans cette vidéo, nous utiliserons un outil ou un site Web appelé beg x, en tête-à-tête. C'est un outil très puissant qui non seulement nous apprendra davantage sur RegEx, mais aussi simplifier le processus et visualiser ce qui suit. abord, nous allons cliquer sur bifan comme langage de programmation avec lequel nous travaillons. Supposons maintenant que nous avons la chaîne suivante. Donc, en regardant la chaîne, nous avons deux chiffres. L'un est un numéro de téléphone et l'autre est un numéro à deux chiffres de la société vendue immédiatement. Ce que nous savons des numéros de téléphone c'est qu'ils sont composés de dix chiffres, ce qui le différencie facilement de l'autre numéro ici. Nous pouvons donc configurer notre RegEx pour qu'il soit extrait chaque fois qu'il trouve un numéro de séquence à dix chiffres. Ainsi, lorsque nous passons à l'onglet de référence rapide, nous pourrions trouver la syntaxe dont nous avons besoin au cas où nous l'oubliions. Donc ici, il est dit barre oblique inverse d signifie n'importe quel chiffre, ou en d'autres termes, n'importe quel nombre. Allons de l'avant et utilisons-le. Comme vous pouvez le voir quand, lorsque nous saisissons la barre oblique inverse d, sont les correspondances que nous obtenons. Il correspond essentiellement à tous les chiffres dont nous disposons. Maintenant, ce que nous voulons faire correspondre à deux chiffres consécutifs, nous pouvons lier les jours de barre oblique inverse. Il correspond maintenant à deux chiffres. Donc, avant que nous ayons eu 12 matchs, nous en avons maintenant six. Comme il ne correspond pas à chaque chiffre individuel il ne correspond que deux chiffres ensemble. Et si nous saisissons trois barres obliques inverse, nous n'obtiendrons que deux matchs de trois chiffres consécutifs. Et comme vous pouvez le constater, 20 millions ne correspondent pas parce qu'il s'agit d'un nombre à deux chiffres, et ainsi de suite. On pourrait donc penser que quand Izzy, si un numéro de téléphone de dix chiffres, on pourrait juste rester dix barres obliques inverse ces deux-là correspondent à cette séquence. Techniquement, ils ne se trompent pas et cela fonctionnerait très bien, par exemple. Nous avons donc 345678910. Donc, lorsque nous regardons les matchs, c'est ce que nous allons obtenir. De toute évidence, il existe des moyens plus sophistiqués de le faire. Par exemple, vous pouvez accéder à l'onglet de référence rapide. Les jetons communs trouveront une expression qui indique exactement trois occurrences de a, ce qui signifie exactement trois occurrences de la lettre a consécutivement. Essayons donc de l' utiliser à notre avantage. Donc dès le départ, nous n'avons pas besoin de a, nous voulons plutôt une barre oblique inverse. Nous saisissons donc la barre oblique inverse d , puis entre deux crochets bouclés entrent dix au lieu de trois. Cela nous a donné les mêmes résultats exacts avec beaucoup moins de codage. Bien sûr, certains pourraient dire : Eh bien, les numéros de téléphone, ils seront présentés dans un format différent, par exemple. Donc, si nous voulons extraire des numéros de téléphone et qu'ils sont clairement dans deux formats différents. Nous pourrions procéder comme suit. d'abord, sauvegardons notre expression ici et nous y reviendrons plus tard. Donc, l'une des battes, notre bouton que nous voulons associer commence par un support. Cependant, si nous tapons un paquet jusqu'à une expression régulière, nous rencontrerions un problème. Et c'est parce que le crochet est un caractère spécial et qu'il a une signification pour notre programme. Comme vous pouvez le constater lorsque nous examinons l'étape de référence rapide, nous constatons que le crochet est utilisé pour capturer tout dans un crochet fermé, dans ce cas appelé caractère spécial. Donc, pour utiliser un personnage spécial, il faut y échapper. Et comment y échapper ? Il suffit de taper une barre oblique inverse avant. Par exemple. Maintenant, comme vous pouvez le constater, cela fonctionne très bien et il a détecté notre poche ici. Continuons donc. Nous avons donc trois chiffres après le crochet, nous allons mourir. Mais dans notre bouton, trois chiffres. Et comme vous pouvez le constater, il a détecté le numéro. Donc, jusqu'à présent, c'est bon. Et encore une fois, nous avons un support, mais nous pouvons taper les supports tout de suite. Nous devons y échapper en utilisant une barre oblique inverse. Nous avons maintenant un symbole de tiret. Ensuite, nous avons trois chiffres, puis un tiret simple, et enfin quatre chiffres. Maintenant, comme vous pouvez le constater, il correspond au format de notre numéro de téléphone. Nous en avons donc fini avec cette expression, mais nous avons toujours notre première expression qui est la barre oblique inverse d dix. Comment dire à notre programme de rechercher simplement ce bouton ou ce motif, nous pourrions utiliser le symbole de barre verticale. Donc, lorsque nous saisissons la recherche ici, ou que nous obtenons cette correspondance alternative, soit a, soit B. Donc, utilisons le simple. Ensuite, nous allons coller notre expression ici. Et comme vous pouvez le constater, les deux ont détectés. Il est donc dit de rechercher ce motif ou ce bouton. Donc, si nous voulons l'utiliser dans notre programme Python, nous pourrions procéder comme suit. Nous importons donc d'abord notre médicament X. Ensuite, nous créons une chaîne pour contenir notre texte. Maintenant, nous créons une matraque. Et nous appelons le meilleur bouton que nous avons créé. Maintenant, nous allons utiliser find all va d'abord taper notre modèle. Ensuite, le texte que nous voulons faire correspondre. Maintenant, nous imprimons simplement la correspondance. Examinons les résultats. Comme vous pouvez le constater, cela fonctionne très bien. Nous pouvons donc toujours utiliser RegEx en tête-à-tête pour créer notre expression et la tester avant appliquer ici sur Python, cela facilite grandement les choses car il visualise le processus pour nous et nous montre. ce qui est apparié en temps réel. Maintenant, pour le deuxième niveau, nous avons ce bloc de texte géant et nous voulons en extraire les titres. Les titres ici sont donc notre objectif et notre opportunité. Et nous voulons extraire la dose. Donc, pour commencer, nous pouvons taper note car ils commencent par rien. Et puis il y a un espace, puis un numéro. Nous avons maintenant capturé la note 1 et n2, mais nous voulons quand même capturer le texte qui vient après. Si vous regardez de près, vous verrez que le titre se termine par la création d' une nouvelle ligne ici et ici. Et nous savons qu'une nouvelle ligne signifie une barre oblique inverse en Python. Nous voulons capturer tous les textes jusqu'à ce que nous connaissions une nouvelle ligne. La question reste de savoir comment taper cela en expression régulière ? Donc, si nous regardons ici l'arrêt de référence rapide, il indique n'importe quel personnage sauf a, B ou C. Alors ouvrons un nouveau doc x commencer à expérimenter. Supposons donc que nous ayons le texte suivant et que nous voulons dire que tous les caractères correspondent à l'exception du signe de pourcentage, le signe égal. Nous allons donc taper ce qui suit. Comme vous pouvez le constater, il correspondait tout sauf ces échantillons. Et pour faire une séquence, nous ajoutons un signe plus à la fin de notre expression. Maintenant, il y a un ou plusieurs personnages jusqu'à ce que vous rencontriez l' un de ces signes. C'est donc ce que signifie le signe plus. Une ou plusieurs occurrences d'un caractère que vous spécifiez. Revenons maintenant à nos textes, appliquons ce que nous avons appris. Bon, donc maintenant nous avons un numéro, puis nous avons un espace. Nous allons donc ajouter un espace. Ensuite, nous allons essayer cette expression. Tout sauf une nouvelle ligne. Il ne correspond qu'au premier personnage et s'arrête. Nous voulions plutôt capturer un ou plusieurs personnages. Pour cela, nous utiliserons le signe plus. Et lorsque nous passons au type et au type de référence rapide d'une ou de plusieurs, nous pouvons utiliser le signe plus. Nous pourrions également utiliser le signe étoile, ce qui signifie 0 occurrences ou plus. Et cela nous donnerait les mêmes résultats. Maintenant, lorsque nous passons aux informations du match, nous pouvons voir que cela fonctionne, mais nous n'avons toujours pas fini parce que nous voulons capturer les titres et pas un seul et le nœud deux ne font pas partie de nos titres. Pour cela, nous utiliserons des supports. Comme vous pouvez le voir, il est dit capturer tout ce qui est inclus. Donc, lorsque nous passons à notre expression, c'est exactement l'expression où elle a commencé à capturer le titre ici. Mettons donc des crochets autour de cette expression. Maintenant, ce qu'il fait, c'est que les groupes sont capturés ces résultats pour nous. Maintenant, ce qui se passe, c' est qu'il correspond aux autres résultats tels que le nœud 1 et le nœud deux. Nous allons donc l'utiliser dans notre code Python. Et pour copier ce bloc de texte géant, nous allons utiliser trois guillemets simples pour tenir compte de la barre oblique inverse n ou de nouvelles lignes de notre texte. Donc, au lieu de cette ancienne méthode, allons utiliser trois guillemets, 123, puis nous allons baser notre texte, puis nous utiliserons trois autres guillemets. allons maintenant copier notre expression régulière que nous avons écrite et basée sur le modèle. Comme vous pouvez le constater lorsque nous exécutons le programme, il ne renvoie que le titre est pour nous sans un, pas deux. Et maintenant, pour le niveau trois, nous avons un bloc de texte relativement petit. Cependant, nous allons extraire beaucoup d'informations à ce sujet. Donc, si nous examinons les informations utiles ici, nous pouvons constater que les gains ont été fournis dans le format suivant. L'exercice financier est ensuite suivi de l'année, dans ce cas, c'est 2021 ou 2020, puis un espace puis la salle d'audience cette année-là. Dans ce cas, il s'agit du Q1 et du quatrième trimestre. Nous savons donc que dans un an, il ne peut y avoir que quatre trimestres, Q1, Q2, Q3 et Q4. Il ne peut y avoir de Q5. Nous allons donc garder cela à l'esprit. Dès le départ de la chauve-souris, notre schéma commence par FY. Alors, saisissons FY. Il y a évidemment quatre chiffres, ce qui, dans ce cas, c'est l'année. Et comment pouvons-nous faire cela ? Nous utilisons une barre oblique inverse d. Et puis entre les crochets bouclés, nous saisissons quatre. Cette expression signifie donc si je suis suivi de quatre chiffres ou de n'importe quel numéro de téléphone. Jusqu'à présent, c'est bon. Et puis il y a un espace après, avant le Q1 et le Q4. Nous devons spécifier cela dans notre expression régulière. Nous allons donc taper un espace. Ensuite, il y a une file d'attente. Maintenant, la file d'attente est suivie d'un chiffre. Cependant, nous ne pouvons pas simplement taper la barre oblique d, car cela inclurait des choses comme celles qui, dans ce cas, sont erronées. Nous voulons donc nous assurer que nos chiffres sont compris entre un et quatre. Comment faisons-nous cela ? Si nous examinons l'onglet de référence rapide, cette option indique un caractère unique de A, B ou C. Vous pouvez spécifier explicitement les nombres que vous souhaitez inclure, soit 1234. Mais il y a une meilleure approche. Nous pourrions utiliser cette option dans le tampon de référence rapide qui indique un caractère compris entre A et Z. Maintenant, nous pourrions taper un à quatre, et cela nous donnerait les mêmes résultats avec moins de codage. Alors maintenant, testons notre modèle et Python, nous m'appelons J'aime le texte et basons sur ce nom de texte. Ensuite, nous copions notre modèle et l'avons basé dans le modèle, notre programme Python. Et maintenant, lançons le programme pour voir les résultats. Et si l'un des vols était en minuscules, mais que nous voulons toujours correspondre à cela, nous pourrions procéder comme suit. Le décalage est égal à ignorer la casse. Maintenant, lorsque nous imprimons les résultats, comme vous pouvez le voir, ils correspondent aux minuscules f, y. Et disons que nous ne voulons pas inclure l'exercice financier, qui correspond à l'exercice financier, tout simplement, nous pourrions utiliser les crochets pour tout simplement, nous pourrions utiliser les crochets pour capturer et conserver uniquement les pièces que nous voulons. Ainsi, par exemple, lorsque nous exécutons notre programme, nous pouvons le voir, il n' a capturé que les parties spécifiées à l'intérieur des crochets. Revenons donc à RegEx en tête-à-tête. Nous pourrons correspondre à l' année et à leurs trimestres. Cependant, nous voulons toujours correspondre aux gains de cet ensemble ici. Et supposons que nous avions d'autres chiffres et nos textes que nous voulons éviter, par exemple. Sauvons donc notre expression ici. Nous ne voulons pas capturer ce numéro. Nous voulons uniquement capturer les chiffres qui commencent par un signe dollar. Cependant, nous ne pouvons pas simplement taper le signe du dollar car c'est un caractère spécial. Cela signifie la fin d'une chaîne, comme vous pouvez le voir dans l'onglet de référence rapide en bas. Comme il s'agit d'un caractère spécial, nous savons que nous devons utiliser la barre oblique inverse pour échapper à ce caractère spécial avant de l'utiliser. Maintenant, il correspond à ce que nous voulons. Nous avons maintenant un chiffre après cela, donc nous pouvons taper la barre oblique inverse d. Cependant, il y a une virgule décimale après cela, donc nous utiliserons des crochets. Ensuite, nous avons une virgule car il s'agit d'un caractère spécial, comme vous pouvez le voir dans l'arrêt de référence rapide. Nous devons utiliser la barre oblique inverse avant de l'utiliser. Maintenant, nous fermons notre support carré. Nous devons maintenant mettre un plus, ce qui signifie une ou plusieurs occurrences. Maintenant, si, pour une raison quelconque le bénéfice de la société a atteint 10,4 milliards, il compte encore deux chiffres avant la virgule car nous l'avons spécifié en utilisant le signe plus. Collons maintenant cette expression régulière et notre programme Python et voyons si cela fonctionne. Maintenant, nous allons prendre le bouton. Enlevons ça. Maintenant, lançons notre programme. Et bien sûr, si nous ne voulons pas le signe du dollar, nous pourrions toujours utiliser les crochets pour capturer ce que nous voulons. Supposons que nous voulions faire correspondre l'année, le trimestre et les bénéfices de ce résultat ici. Comment faire cela en utilisant le médicament X ? Eh bien, nous avons déjà fait une expression régulière pour correspondre à l'année et au trimestre. Alors utilisons-nous d'abord. Maintenant, après le trimestre, n' importe quel personnage avant d' atteindre le signe du dollar. Nous allons donc taper n'importe quel personnage sauf le signe du dollar. Et maintenant, nous devons ajouter un signe plus pour capturer une ou plusieurs occurrences. Maintenant, ça correspond à n'importe quoi jusqu' à ce qu'il soit contré, un signe de dollar. C'est donc ce que nous voulons. Nous allons maintenant revenir à l'expression régulière que nous avons créée précédemment pour correspondre à l'annexe et la coller dans notre expression. Maintenant, comme vous pouvez le constater, il correspond exactement à ce que nous voulons. Mais on pourrait dire, eh bien, nous ne voulons pas nécessairement que les textes entre les deux soient, et c'était simplement que vous pouvez utiliser les crochets pour capturer exactement ce que nous voulons. Maintenant, il ne capture que ces résultats. Revenons donc à nos programmes Python à quoi cela ressemble. Comme vous pouvez le constater, il fonctionne comme prévu. Et bien sûr, si vous n' incluez pas le signe du dollar, nous pourrions simplement l'inclure dans notre expression capturée. Regardez le type, par exemple, les gains présentés en milliards. C'est donc tout pour la vidéo d'aujourd'hui. Merci beaucoup d'avoir regardé et j'espère vous voir dans le prochain. 6. Tri des données non ordonnées: Bonjour et bienvenue dans ma vidéo. Aujourd'hui, nous allons examiner comment trier un fichier texte non trié à l'aide de RegEx. C'est donc le dossier que nous allons jeter un coup d'œil. Le nom de fichier est une liste de données. Je l'ai enregistré sur mon bureau. Ainsi, lorsque nous ouvrons le fichier, nous avons trois types différents de données, nom, d'e-mail et de numéros de téléphone dans cette liste. Le FirstName ici appartient au premier e-mail ici et appartient au premier numéro ici. De même, le deuxième nom appartient au deuxième e-mail et au deuxième numéro, etc. Maintenant, le problème est qu'ils ne sont pas listés l'un à côté de l'autre. J'ai ces valeurs les unes à côté des autres une par une. Évidemment, si vous le faites manuellement et que vous placez le prénom à côté du premier e-mail du premier numéro, cela vous prendra une éternité. Comment structurer cette liste en utilisant quelques lignes de code ? Passons donc à notre programme Python et jetons un coup d'œil pour commencer à utiliser RegEx. La première chose que nous voulons faire est d'importer notre baie. Ensuite, nous voulons ouvrir ce fichier. Si vous voulez une explication plus détaillée la façon de gérer les fichiers en Python, vous pouvez consulter ma classe sur Gestion des fichiers. C'est ainsi que nous ouvrons un fichier en Python. C'est ainsi que vous pouvez ouvrir un fichier s'il était enregistré dans le même répertoire que votre fichier Python. Cependant, notre fichier est enregistré sur notre bureau. Nous devons spécifier l'emplacement dans notre programme pour connaître l' emplacement de notre fichier texte, il suffit de se diriger vers l' emplacement où il se trouve, puis de cliquer avec le bouton droit de la souris sur Propriétés. Et voici l'emplacement, il suffit de copier le coller dans notre programme Python. Nous devons maintenant modifier ces barres obliques inverses, deux barres obliques. Comme vous pouvez le constater maintenant, il ne montre aucun adulte. Maintenant, nous lisons ce fichier et enregistrons son contenu dans cette variable appelée contenu. La prochaine chose que nous voulons faire est de créer des modèles qui correspondent aux données dont nous disposons. Heureusement, nous avons déjà créé boutons pour correspondre aux e-mails et aux numéros de téléphone Nous utiliserons donc simplement ces boutons depuis qu'ils fonctionnent. Ce sont les mêmes que ceux que nous avons utilisés dans les classes précédentes. Il s'agit donc du bouton qui correspondrait aux e-mails, et c'est le bouton qui correspondrait aux numéros de téléphone. Cependant, il y a une légère différence. Si vous regardez les chiffres, ils sont similaires aux nôtres, dans lesquels ils commencent par des parenthèses, puis il y a trois chiffres, mais au lieu d'un tiret ici, ils ont un espace. Remplacons donc cela pointillé par l'espace. Ensuite, ils ont trois chiffres. Nous avons trois chiffres, puis un tiret. Et ensuite, pour les chiffres. Cela devrait donc correspondre aux chiffres de notre liste, très bien. Ces deux boutons devraient donc fonctionner correctement. Maintenant, un autre bouton que nous devons créer est le modèle de nom correspondant aux noms la liste que nous n'avons pas créée. Nous avons créé maintenant à partir de zéro. Donc, si nous regardons les noms des listes, ce que nous avons est essentiellement une majuscule de a à Z, puis une lettre minuscule de a à Z, puis un espace. Encore une fois, n'importe quelle majuscule de a à Z, puis toute lettre minuscule de I2C. Cela semble donc assez simple. Allons-y. Donc je suis Doug x termes, c'est à ça que ça ressemble. Ce bouton est donc divisé en deux parties FirstName et LastName. Et ils sont séparés par un espace entre eux. Le FirstName est une lettre allant de la majuscule a à Z majuscule, mais ne se produit qu'une seule fois, puis n'importe quelle lettre de A à z. Cette fois, nous avons ajouté un signe plus car il pourrait se produire une ou plusieurs fois. Donc, si nous regardons notre liste, nous n'avons qu'une majuscule ici, puis plusieurs lettres minuscules. Et c'est ce que disent nos boutons. Une majuscule, puis n'importe quel nombre de lettres minuscules. Ensuite, nous avons un espace entre eux. Et puis encore le même bouton, une majuscule, puis n'importe quel nombre de lettres minuscules. Nous avons donc maintenant nos modèles prêts. Nous allons choisir une méthode de recherche. Nous pourrions utiliser trouver tout, ou nous pourrions utiliser l'éditeur de recherche. Mais je pense trouver S plus approprié dans ce cas. Créons donc un bon débiteur pour chaque modèle de voyelle. Nous avons donc créé un fonds. C'est un objet nommé e-mails, lui a donné le bouton correspondant aux e-mails. Ensuite, indiquez la chaîne avec laquelle nous voulons la faire correspondre. Dans ce cas, notre chaîne ou nos textes sont stockés dans cette variable appelée contenu, qui provient de notre fichier texte. Il en va de même pour les téléphones et les noms. Donc, si nous devions utiliser l' éditeur de recherche comme nous le faisons habituellement, ce sont les résultats que nous allons obtenir. C'est donc ainsi que nous utilisons généralement trouver mieux. Voici l'objet que nous voulons parcourir et nous disons que, pour chaque article et chaque e-mail, imprimez chaque article. Lançons donc notre programme et voyons à quoi il ressemble. Comme vous pouvez le voir pour les dizaines, l'objet complet, nous n'avons besoin que de la chaîne ou de l'e-mail correspondant. Pour cela, nous allons utiliser la méthode de groupe de points. Lançons notre programme. Maintenant, il ne fait que renvoyer les cordes. Mais nous n'avons toujours pas fini. Cela nous donne essentiellement le même fichier que celui que nous avons déjà dans lequel les e-mails sont répertoriés à un endroit et les noms sont répertoriés dans un autre. Comment les énumérer l'un à côté de l'autre ? Vous pourriez suggérer que nous pourrions créer une autre boucle for pour les téléphones et les noms. Par exemple, copions simplement ce téléphone. Les téléphones ici. Désolé. Et puis il en va de même pour les noms, pour les noms. Ensuite, nous mettons le nom ici. Alors, lançons ça et voyons à quoi ça ressemble. C'est. Essentiellement, il ressemble exactement au même fichier que celui que nous avons qui ne fonctionne pas. Soit. On pourrait peut-être suggérer de placer ces quatre lobes l'un sous l' autre. Donc, si nous supprimons l'espace ici, mettez en surbrillance et appuyez sur Tab, puis supprimez l'espace surligné et appuyez sur Stop. Bon, donc maintenant à l'intérieur de l'autre, voyons à quoi ça ressemble. Maintenant, c'est encore pire parce qu' il est imprimé le premier e-mail que le numéro de téléphone, puis les noms et c'est juste un gâchis. Mais ne vous inquiétez pas, ce sont des outils spécifiques pour cela. Donc, essentiellement, ce que nous voulons faire, c'est itérer l'e-mail, le téléphone et le nom. Dans le même temps, nous ne voulons pas itérer les e-mails seuls que les polices seules, les noms eux-mêmes. Nous voulons les itérer tous dans la même boucle for-loop. Pour cela, nous allons utiliser les ETL pour utiliser les outils de l'éditeur. Nous devons d'abord l'importer, ne vous inquiétez pas, nous n' avons rien à installer. Il est fourni par défaut avec Python. Comme vous pouvez le voir, il est suggéré que je me l'ai dit, maintenant faisons un petit zoom arrière. Fermez ça. Bon, maintenant que nous l'avons importé, c' est comme ça que nous allons l'utiliser. Nous allons donc taper pour nom car nous voulons parcourir le nom. Et nous voulons également effectuer une itération par e-mail. Et nous voulons également parcourir la police. Ensuite, nous allons taper gzip. Ensuite, incluez les objets que nous allons parcourir. Oh mon Dieu, que se passe-t-il ? Donc des noms, des courriels, des téléphones. Oh, désolé. Donc pour le nom dans les noms et les courriels, dans les courriels, pour le plaisir et les téléphones. Cela fonctionne donc comme une boucle for régulière pour nous, sauf que nous pouvons maintenant parcourir plusieurs objets. Nous allons maintenant imprimer nos résultats. Imprimer le nom du groupe de points, puis nous a envoyé un e-mail au groupe. Puis j'ai finalement trouvé ça. C'est donc très similaire à la façon dont nous effectuerions itération sur un objet à l'aide d'une boucle for régulière. La seule chose à retenir est d' inclure tous les objets que nous voulons parcourir à l'intérieur de la parenthèse zip. Lançons maintenant notre programme et voyons à quoi il ressemble. C'est magnifique exactement comme nous le voulions. Mais encore une fois, nous n'avons toujours pas fini. Nous voulons écrire ces résultats dans un fichier. Au lieu de les imprimer ici dans le terminal. Pour cela, nous allons ouvrir un nouveau fichier texte en mode écriture et nommons les données triées. Donc f est égal à ouvert. Ensuite, nous allons entrer le nom du fichier. Vous allez le nommer TXT trié, puis une virgule. Et ici, nous spécifions le mode. Nous allons utiliser le mode W, ce qui signifie moteur octets. Maintenant oui, il indique le mode Écriture, mais cette fonction ouverte créera un fichier pour nous s'il n'existait pas, et si elle existe, elle écrasera le contenu de cet objet. Donc, si nous le laissons tel quel, cela va créer le fichier ici dans notre espace de travail. Nous allons le créer sur notre bureau voisin, ou dans le fichier original pour cela, indiquons le même emplacement que celui où se trouve notre fichier. Nous allons donc couvrir cette dislocation et la coller ici. Maintenant, ouvrons ce fichier, nous allons maintenant y écrire. Changeons donc notre boucle for pour écrire au lieu d'imprimer. Nous allons donc taper F, qui est le nom du fichier, points, n'est-ce pas ? Et c'est tout. Maintenant, il se peut que nous obtenions une erreur ici. C'est parce que la méthode d'écriture ne prend qu'un seul paramètre, mais nous avons placé ici trois paramètres. Mettons-les dans une ficelle. Donc, alors, nous allons commencer une chaîne. Et cette chaîne, nous allons placer ces variables nommées points, cool. Envoyez ensuite un e-mail au groupe. Puis a finalement trouvé son groupe. Ensuite, nous allons terminer notre chaîne par un autre guillemet double. Maintenant, nous devrions être réglés, mais avant d'exécuter notre programme, n' oublions pas de fermer notre fichier. Nous allons donc taper def, qui est le nom de notre fichier. Lançons donc notre programme et voyons à quoi il ressemble. Nous devrions voir un fichier créé sur notre bureau. Parce qu'il n'y a rien d' aussi déterminant parce que nous n'avons rien imprimé. Mais si vous l'avez remarqué ici, il y a des données triées, c'est le fichier que nous avons créé. Ouvrons-le et jetons un coup d'œil. C'est un peu trié les données pour nous, mais pas assez. Nous devons placer une nouvelle ligne après avoir imprimé le nom, l' e-mail et le téléphone. Alors ici, après avoir écrit le nom, e-mail et le téléphone pour créer une nouvelle ligne après cela. Et maintenant, lançons notre programme. Et ne vous inquiétez pas si nous lançons à nouveau notre programme, il ne va pas créer de nouveau fichier. Au lieu de cela, il va écraser notre fichier existant. Alors lançons le programme et regardons notre fichier. Notez que nos virgules séparent ces valeurs, c'est-à-dire parce que nous les avons conservées dans notre chaîne f, comme vous pouvez le voir. Donc, si vous préférez ne pas les avoir, vous pouvez supprimer ces virgules et votre programme fonctionnera très bien. Cependant, je pense qu' il est plus facile de travailler avec des données lorsqu'elles sont séparées par des virgules. En option, nous pourrions étiqueter nos données. Nous allons donc taper un nom, puis un deux-points, puis un deux-points, puis enfin un deux-points. Et maintenant, lançons notre programme et voyons à quoi il ressemble. Cela semble beaucoup plus lisible et beaucoup plus facile à utiliser. Nous allons ouvrir le premier fichier à côté et les comparer ensemble. La différence est le jour et la nuit. Et c'est ce que nous avons fait. Et quelles 15 lignes de code moins l'espacement. Il aurait fallu beaucoup de temps pour le trier manuellement. Et il y a aussi la possibilité d'une erreur humaine, qui pourrait gérer l' ensemble de la base de données pour nous. Au lieu de cela, avec peu de lignes de code, nous laissons la machine faire le travail et éliminer la possibilité de manquer une ou deux valeurs et de créer un effet boule de neige qui exécute nos données. Récapitons donc notre code que nous avons importé ou un médicament X et des outils d'édition pour parcourir plusieurs objets. Nous ouvrons ensuite le fichier à partir duquel nous allons lire les données, spécifier leur emplacement et l'avons ouvert en tant que f. Ensuite, nous avons créé une variable et nous avons tapé le contenu égal à F, F, qui est notre fichier, le traitement. Cette variable de contenu lit donc notre fichier texte. Nous avons ensuite créé un modèle pour notre e-mail, notre téléphone et notre nom. Ensuite, nous avons créé une recherche de courriels sur un objet et nous lui avons donné le modèle qu'il utilise. Les e-mails utilisent donc le bouton e-mail et nous l'avons mis en correspondance avec le contenu, qui inclut les données et notre fichier texte. Il en va de même pour les polices et les noms. Ensuite, nous avons créé un nouveau fichier et l'ouvrons en mode W ou en mode écriture et le nommons des données triées. Ensuite, nous avons créé une boucle for qui itère sur trois objets, noms, e-mails et téléphones. Ensuite, nous les étiquetons au fur et à mesure que nous les écrivons dans notre fichier texte pour avoir plus de facilité à les laisser faire. Après avoir écrit dans notre dossier, nous l'avons fermé. C'est donc tout pour la vidéo d'aujourd'hui. Merci beaucoup d'avoir regardé et j'espère vous voir dans le prochain.