Maison >développement back-end >Tutoriel Python >Comment utiliser les expressions régulières Python pour le codage et l'efficacité du codage
Les débutants rencontrent souvent des problèmes de traitement de chaînes lors de l'écriture de code Python, comme l'analyse des données d'une page Web HTML, l'extraction d'informations spécifiques d'un fichier texte ou l'interception de parties clés d'un long texte, etc. À l’heure actuelle, nous pouvons utiliser des expressions régulières pour résoudre ces problèmes. Cet article explique comment utiliser les expressions régulières de Python pour écrire du code et améliorer l'efficacité du codage.
1. Qu'est-ce qu'une expression régulière ?
L'expression régulière est une méthode utilisée pour faire correspondre des chaînes. Elle utilise des symboles et des caractères spéciaux pour former des règles, ce qui rend très pratique le filtrage et la recherche de texte. Le module d'expression régulière couramment utilisé en Python est le module re, qui peut être utilisé pour implémenter des opérations régulières de correspondance et de remplacement sur des chaînes.
2. Syntaxe de base des expressions régulières
Avant d'utiliser les expressions régulières, nous devons maîtriser une syntaxe de base.
Jeu de caractères : [ ] correspond à tout caractère contenu entre crochets.
Métacaractère : . Correspond à n'importe quel caractère sauf la nouvelle ligne.
Nombre de répétitions : * correspond à zéro ou plusieurs caractères répétitifs, + correspond à un ou plusieurs caractères répétitifs, ? correspond à zéro ou à un caractère répétitif.
Début et fin : ^ correspond à la position de départ de la chaîne, $ correspond à la position de fin de la chaîne.
Antonyme : W correspond à tout caractère autre qu'une lettre ou un caractère numérique, S correspond à tout caractère autre qu'un espace.
Groupe : ( ) est utilisé pour le regroupement pour une utilisation facile.
3. Pratique des expressions régulières
Ce qui suit est un exemple pour illustrer comment utiliser les expressions régulières pour l'écriture de code et l'efficacité du codage.
Exemple 1 : Extraire la date dans le texte
Dans un fichier texte, nous devons extraire des informations sur la date, par exemple : 1er mai 2020, nous pouvons utiliser ce qui suit expression régulière Expression :
import re string = '2020年5月1日' pattern = r"d+年d+月d+日" result = re.findall(pattern, string) print(result)
Résultat de sortie :
['2020年5月1日']
Exemple 2 : Extraire des liens à partir de pages HTML
Dans une page Web HTML, nous devons extraire toutes les informations du lien, par exemple :
import re import requests r = requests.get('http://www.baidu.com') pattern = re.compile(r'(http|https|ftp)://[^s]+') result = pattern.findall(r.text) print(result)
Résultat de sortie :
['http://www.baidu.com/', 'http://home.baidu.com/', 'http://map.baidu.com/', 'http://v.baidu.com/', 'http://tieba.baidu.com/', 'http://fanyi.baidu.com/', 'http://news.baidu.com/', 'http://baijiahao.baidu.com/', 'http://xueshu.baidu.com/', 'http://wenku.baidu.com/', 'http://music.baidu.com/', 'http://image.baidu.com/', 'http://v.baidu.com/', 'http://tieba.baidu.com/', 'http://map.baidu.com/', 'http://wenku.baidu.com/', 'http://jingyan.baidu.com/', 'http://tieba.baidu.com/', 'http://zhidao.baidu.com/', 'http://tieba.baidu.com/', 'http://tieba.baidu.com/f?kw=%D6%D0%C9%BD%C1%F4%B2%FA&fr=index', 'http://tieba.baidu.com/f?kw=%B0%D9%B6%AF%B2%FA%D0%ED&fr=index', 'http://tieba.baidu.com/f?kw=%D2%EF%BE%AD%B5%DA&fr=index', 'http://tieba.baidu.com/f?kw=Ubuntu&fr=index', 'http://tieba.baidu.com/f?kw=%B0%C2%D7%B0%B5%DA&fr=index', 'http://tieba.baidu.com/f?kw=%B7%D7%CA%D0%CE%C4&fr=index', 'http://music.baidu.com/new', 'http://news.baidu.com/n?cmd=1&class=civilnews&tn=rss', 'http://baijiahao.baidu.com/u?app_id=1589334281367279', 'http://xueshu.baidu.com/s?wd=paperuri%3A%2836d90593d4c8d317f9ef4ef93bf56000%29&filter=sc_long_sign&sc_ks_para=q%3D%E9%A3%9F%E5%93%81%E5%AE%89%E5%85%A8', 'http://wenku.baidu.com/view/13908a38069661ce85006134', 'http://music.baidu.com/top?pst=shouyeTop', 'https://www.baidu.com/duty/', 'http://ir.baidu.com']
Exemple 3 : Remplacer les virgules de chaîne par des points
dans un fichier texte, nous devons remplacer les virgules par des points, par exemple :
import re string = '12,34,56,78' pattern = r',' replaced_string = re.sub(pattern, '.', string) print(replaced_string)
Résultat de sortie :
12.34.56.78
Exemple 4 : Vérifier si une chaîne est une adresse e-mail
# 🎜🎜 #Lors du développement d'un système de connexion, nous devons vérifier si l'adresse e-mail saisie par l'utilisateur est légale, par exemple :import re email = 'example@gmail.com' pattern = r'[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$' if re.match(pattern, email): print('Email address is correct!') else: print('Invalid email address!')Résultat de sortie :
Email address is correct!4. 🎜🎜 #
Les expressions régulières Python jouent un rôle important dans le traitement de texte. Maîtriser la syntaxe de base des expressions régulières peut nous aider à accomplir les tâches d'écriture de code et de traitement de chaînes plus rapidement et plus efficacement. Dans le développement réel, les expressions régulières peuvent être appliquées de manière flexible en combinaison avec d'autres bibliothèques et fonctions Python en fonction de besoins spécifiques pour obtenir une meilleure efficacité et qualité de codage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!