Comment utiliser les expressions régulières Python pour la recherche en texte intégral

王林
Libérer: 2023-06-22 18:00:01
original
1437 Les gens l'ont consulté

Avec le développement de l'ère de l'information, nous sommes confrontés à des données et des textes massifs. Il est très important de trouver le contenu dont nous avons besoin rapidement et efficacement. Dans ce contexte, les expressions régulières (Regular Expression), outil puissant, sont devenues un élément irremplaçable du traitement et de la recherche de texte. Cet article explique comment utiliser les expressions régulières de Python pour la recherche en texte intégral, vous permettant ainsi de mieux traiter les données textuelles.

1. Qu'est-ce qu'une expression régulière

L'expression régulière, également connue sous le nom d'expression régulière ou de notation régulière, est un outil utilisé pour décrire des modèles de texte. Elle est généralement utilisée pour effectuer une correspondance de chaîne, une recherche, un remplacement et d'autres opérations de texte. Les expressions régulières consistent en une série de caractères et de caractères de contrôle qui peuvent définir un modèle de chaîne spécifique et vérifier si une chaîne donnée correspond au modèle. Sa puissance ne réside pas seulement dans la simple correspondance de caractères, mais également dans l'utilisation de symboles spéciaux pour faire correspondre certains jeux de caractères, classes de caractères ou positions de caractères, etc., permettant ainsi un traitement de texte plus flexible.

2. Utilisez le module re de Python pour effectuer des opérations d'expression régulière

Python, en tant que langage de programmation de haut niveau, est livré avec son propre module re pour implémenter des fonctions d'expression régulière. Pour utiliser le module re, vous devez d'abord importer le module, puis utiliser les fonctions qu'il contient pour effectuer des opérations d'expression régulière. Par exemple, pour rechercher toutes les parties d’une chaîne qui correspondent à un certain modèle, vous pouvez utiliser la fonction re.findall().

import re

str = "Bonjour, je m'appelle Tom. Quel est ton nom ?"

pattern = r"name (.+?)."

matches = re.findall(pattern, str)

print (correspondances)

Dans le code ci-dessus, nous définissons une chaîne str et un modèle de modèle d'expression régulière, puis utilisons la fonction re.findall() pour rechercher toutes les parties qui correspondent au modèle et afficher le résultat. Lorsque vous exécutez le code, vous pouvez voir qu'une liste contenant tout le contenu correspondant est affichée.

3. Utilisez des expressions régulières pour la recherche en texte intégral

Dans les applications pratiques, nous devons souvent faire correspondre des modèles et rechercher l'intégralité du texte au lieu de simplement trouver une seule chaîne. Voyons comment utiliser les expressions régulières Python pour la recherche en texte intégral.

  1. Lire le texte

Tout d'abord, nous devons lire le texte que nous voulons rechercher en Python. Vous pouvez utiliser la fonction open() intégrée de Python pour ouvrir un fichier texte et lire son contenu dans un mode spécifié.

avec open("sample.txt", "r") as f:
text = f.read()

Dans le code ci-dessus, nous ouvrons le fichier texte nommé sample.txt en mode lecture seule et mettons The le contenu est lu dans la variable texte.

  1. Écrire une expression régulière

Après avoir lu le texte, nous devons écrire une expression régulière correcte pour correspondre à ce que nous voulons trouver. L'écriture d'expressions régulières nécessite une compréhension complète de la structure et des caractéristiques du texte cible.

Par exemple, si nous voulons trouver tous les numéros de téléphone, nous pouvons utiliser l'expression régulière suivante pour faire correspondre selon le modèle des numéros de téléphone mobile :

pattern = r' 1[0-9]{9} '

Dans l'expression régulière ci-dessus, représente la limite du mot, [1] représente le premier chiffre du numéro de téléphone mobile est 1, [3-9] représente le deuxième chiffre du numéro de téléphone mobile est n'importe quel nombre compris entre 3 et 9, [0 - 9]{9} signifie que les 9 chiffres suivants sont des nombres. Grâce à cette expression régulière, nous pouvons retrouver tous les numéros de téléphone mobile du fichier.

  1. Utilisation de la fonction re.findall()

Enfin, nous utilisons la fonction re.findall() pour rechercher dans l'intégralité du texte et y trouver toutes les parties correspondantes. Le code spécifique est le suivant :

import re

with open("sample.txt", "r") as f:
text = f.read()

pattern = r' 1[0-9]{ 9} '

matches = re.findall(pattern, text)

print(matches)

Dans le code ci-dessus, nous attribuons le texte lu à la variable text, puis utilisons l'expression régulière écrite précédemment comme modèle de correspondance , Utilisez la fonction re.findall() pour rechercher du texte et stocker tout le contenu correspondant dans la liste des correspondances. L’exécution du code nous donnera tous les numéros de téléphone souhaités.

4. Résumé

Grâce à l'introduction de cet article, nous avons compris les principes et l'utilisation des expressions régulières et appris à utiliser le module re de Python pour la recherche en texte intégral. Dans les applications pratiques, les expressions régulières sont un outil essentiel pour le traitement de texte et l'analyse des données. Comprendre comment les utiliser peut nous permettre de mieux traiter des quantités massives de données et de texte et d'améliorer l'efficacité du travail.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal