Dans le développement back-end, le traitement des données et l'extraction d'informations sont très importants. Les expressions régulières sont un puissant outil de traitement de données et d'extraction d'informations qui peut nous aider à mener plus efficacement le développement back-end. Cet article explique comment utiliser les expressions régulières Python pour le développement back-end.
1. Connaissance de base des expressions régulières
Les expressions régulières, également appelées regex, sont un outil pour décrire des modèles de caractères. Elles peuvent nous aider à faire correspondre rapidement et correctement les informations requises dans des données textuelles massives.
Les expressions régulières sont généralement constituées de caractères, d'opérateurs et de métacaractères. Les caractères spéciaux et les métacaractères peuvent représenter un type de caractères ou un type de règles de correspondance. Voici une liste de métacaractères courants d'expressions régulières :
métacaractères | caractères correspondants | ||
---|---|---|---|
caractères d'échappement | |||
. | correspond à n'importe quel caractère sauf les nouvelles lignes | ||
^ | Faites correspondre le début de la chaîne | ||
$ | Faites correspondre la fin de la chaîne | ||
[] | Jeu de caractères | ||
[^] | Jeu sans caractères | ||
* | Correspondance le caractère précédent 0 fois ou plus | ||
+ | Correspond au caractère précédent 1 fois ou plus | ||
? | Correspond au caractère précédent 0 ou 1 fois | ||
{} | Correspond au caractère précédent a nombre de fois spécifié | ||
Correspond à l'expression à gauche ou à droite de | |||
() | Correspond à l'expression entre parenthèses, représente également le groupe de capture |
2. Application d'expressions régulières en Python
Le module re est intégré à Python, qui fournit une prise en charge complète des expressions régulières et peut faciliter le traitement des données et l'extraction d'informations.
Nous pouvons utiliser le métacaractère d pour faire correspondre les nombres et + pour faire correspondre plusieurs nombres :
import re text = "John has 2 apples, and Jane has 3 oranges." result = re.findall(r'd+', text) print(result)
Le résultat est :
['2', '3']
Nous pouvons utiliser [A - Za-z0-9._%+-]+ correspond au nom d'utilisateur de messagerie, utilisez @[A-Za-z0-9.-]+.[A-Za-z]{2,} pour faire correspondre le nom de domaine de messagerie :
import re text = "My email address is john@example.com." result = re.findall(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}', text) print(result)
Le résultat de sortie est :
['john@example.com']
Nous pouvons utiliser 1+href="(.?)"1> match en HTML L'hyperlien :
import re html = """ <a href="https://www.google.com">Google</a>, <a href="https://www.baidu.com">Baidu</a>, <a href="https://www.sogou.com">Sogou</a>, """ result = re.findall(r'<a[^>]+href="(.*?)"[^>]*>', html) print(result)
Le résultat de sortie est :
['https://www.google.com', 'https://www.baidu.com', 'https://www.sogou.com']
3. Compétences d'optimisation des expressions régulières
Bien que les expressions régulières soient très puissantes, l'efficacité peut devenir relativement faible lors du traitement du Big Data et des correspondances complexes. Par conséquent, nous devons optimiser la façon dont les expressions régulières sont écrites pour obtenir une vitesse de correspondance plus rapide.
Par exemple, nous pouvons utiliser [A-Za-z0-9] au lieu de [A-Z]|[a-z]|[ 0-9] , ce qui peut réduire le nombre de caractères dans l'expression régulière et optimiser la vitesse de correspondance.
Le mode gourmand fait référence à un motif qui correspond à autant de caractères que possible. Par exemple, lorsque vous faites correspondre "enfer" dans la chaîne "hello world", re.findall(r'he.l', text) correspondra à "hello worl" car . correspond avidement à "o wor", voici le résultat nous ne voulons pas voir. Afin d'éviter le mode gourmand, nous pouvons ajouter ? après . et utiliser le mode paresseux, comme re.findall(r'he.?l', text).
Les expressions régulières contiennent souvent des barres obliques inverses (). Si les chaînes brutes ne sont pas utilisées, les barres obliques inverses seront interprétées comme des caractères d'échappement. Par conséquent, nous ajoutons généralement r avant l'expression régulière pour indiquer l'utilisation de la chaîne d'origine, telle que re.findall(r'<[A-Za-z0-9]+>', text).
4. Résumé
Dans le développement back-end, les expressions régulières sont un outil très important qui peut nous aider dans le traitement des données et l'extraction d'informations, et améliorer l'efficacité du développement. Cet article présente les connaissances de base des expressions régulières et de leur application en Python, et fournit également des conseils d'optimisation. J'espère qu'il sera utile aux lecteurs.
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!