Maison  >  Article  >  développement back-end  >  Comment extraire du texte entre des chaînes avec des expressions régulières en Python ?

Comment extraire du texte entre des chaînes avec des expressions régulières en Python ?

DDD
DDDoriginal
2024-10-21 20:08:02992parcourir

How to Extract Text Between Strings with Regular Expressions in Python?

Extraction de texte entre des chaînes à l'aide d'expressions régulières

En Python, vous pouvez exploiter des expressions régulières pour extraire du texte situé entre deux chaînes spécifiées dans un plus grand chaîne. Prenons l'exemple suivant :

"Part 1. Part 2. Part 3 then more text"

Votre objectif est d'isoler le texte entre "Partie 1" et "Partie 3", qui est ". Partie 2. ". Pour y parvenir, vous pouvez utiliser la fonction re.search() :

<code class="python">import re
s = 'Part 1. Part 2. Part 3 then more text'
match = re.search(r'Part 1\.(.*?)Part 3', s)
if match:
    text_between = match.group(1)
    print(text_between)</code>

Dans ce cas, l'expression régulière r'Part 1.(.*?)Part 3' attribue ".*?" comme groupe de capture. Le "?" garantit que ce groupe n'est pas gourmand, ce qui signifie qu'il capturera la chaîne la plus courte possible qui satisfait l'expression régulière. Le .* correspond à n’importe quel caractère et le . représente n'importe quel caractère à l'exception d'une nouvelle ligne.

S'il existe plusieurs occurrences, vous pouvez utiliser re.findall() à la place :

<code class="python">matches = re.findall(r'Part 1(.*?)Part 3', s)
for match in matches:
    print(match)</code>

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