Expressions régulières fournissent au programmeur des outils puissants pour l'analyse de texte et de manipulation. Trouvé partout à partir de la validation du formulaire e -commerce à des litiges high-stakes - où la recherche d' avocats pour des combinaisons de mots dans les messages électroniques qui s'ajoutent à «coupable» - regexes appartiennent à la boîte à outils de chaque programmeur . Malheureusement, leur syntaxe ésotérique se dresse comme un obstacle pour de nombreux utilisateurs qui pourraient en bénéficier . Une utilisation possible est la numérisation d'un texte pour Universal Resource Locators , connu familièrement comme les adresses Web . Le langage de programmation Python accomplit cette tâche en quelques lignes de code. Choses que vous devez Python 2.6 ou supérieur, avec l' environnement de développement fichier de texte intégré IDLE pour tester Voir Plus Instructions 1 Ouvert IDLE et créent un tester fichier texte par copier-coller un texte aléatoire dans le fichier avec certaines URL . Enregistrez le fichier sous TestText.txt dans le répertoire qui s'affiche dans la boîte de dialogue de sauvegarde de sorte que vous n'avez pas à vous soucier de chemins entre l'interpréteur Python et ce fichier . 2 Aller à la principale fenêtre IDLE et le type >>>> import re à l'invite de Python. . Ceci charge moteur d'expressions régulières de Python 3 lire votre texte d'essai en Python et le garder en mémoire avec les commandes suivantes: >>> testtext = open (' OCB_1.txt ') >>> raw = TestText.read () OCB_1.txt est le nom de mon fichier de test - un copier-coller de " un événement à Owl Creek Bridge, " de Ambrose Bierce avec quelques URL collé po Dans les commandes ci-dessus , le fichier texte est ouvert et confié à la testtext variable, il est alors lue en mémoire avec la variable affectée première . Hôtels 4 pré- compiler l'expression régulière dans le but d'accélérer le processus d'analyse . Ceci est particulièrement utile lorsqu'il s'agit de grands fichiers de texte . Tapez les commandes suivantes à l' invite de Python : >>> pattobj = re.compile (' https ://( [- \\ w \\ . ] + ) + ( : ? \\ D +) ? ( /( [ \\ w /_ \\ . ] * ( \\ ? \\ S +) ? ) ? ) ? ) 5 invoquer la méthode findall en tapant la commande appropriée sur des expressions rationnelles avec la variable se référant le texte en mémoire: findallobj = pattobj.findall (raw) Cela crée une nouvelle variable, findallobj , qui contient les motifs rapportés par l'expression rationnelle 6. Afficher l'URL de la regex trouvé avec la commande d'impression : impression ( findallobj ) la sortie ressemble à ceci : [ (' www.sjca . edu ') , (' www.cantlers.com /index.shtml ') ]
|