Maison  >  Article  >  développement back-end  >  Comment extraire du texte intermédiaire à l'aide d'expressions régulières ?

Comment extraire du texte intermédiaire à l'aide d'expressions régulières ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 20:05:29597parcourir

How to Extract Intervening Text Using Regular Expressions?

Recherche de texte intermédiaire avec des expressions régulières

Lors du traitement de données textuelles, il est souvent nécessaire d'extraire des informations spécifiques basées sur des modèles prédéfinis. Un outil puissant pour cette tâche est l'expression régulière, une séquence de caractères utilisée pour faire correspondre des chaînes de texte selon des règles définies. Dans ce cas, nous visons à faire correspondre le texte entre deux chaînes distinctes à l'aide d'expressions régulières.

Problème :

Considérez le texte suivant :

Part 1. Part 2. Part 3 then more text

Notre objectif est de rechercher les chaînes "Partie 1" et "Partie 3" et de récupérer tout ce qui se trouve entre les deux, qui est ". Partie 2. ".

Solution :

En utilisant Python 2x, nous pouvons utiliser le module re et exploiter les expressions régulières. Une approche consiste à utiliser la fonction re.search :

import re

s = 'Part 1. Part 2. Part 3 then more text'
match = re.search(r'Part 1\.(.*?)Part 3', s)
if match:
    print(match.group(1))

Ce code recherche le modèle "Partie 1" suivi de n'importe quel caractère (représenté par le ".*?") et se terminant par "Partie 3". ". La partie correspondante, qui contient le texte intermédiaire, est stockée dans match.group(1) et imprimée.

Une approche alternative consiste à utiliser re.findall s'il existe plusieurs occurrences du modèle spécifié :

matches = re.findall(r'Part 1(.*?)Part 3', s)
for match in matches:
    print(match)

Ce code récupère tous les segments correspondants entre "Partie 1" et "Partie 3" et imprime chacun d'entre eux. Les deux méthodes utilisent efficacement des expressions régulières pour extraire le texte souhaité entre les chaînes spécifiées.

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!

Déclaration:
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