Maison >développement back-end >Tutoriel Python >Comment extraire des sous-chaînes entourées de marqueurs en Python ?

Comment extraire des sous-chaînes entourées de marqueurs en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 16:36:16198parcourir

How to Extract Substrings Enclosed by Markers in Python?

Extraction de sous-chaînes entourées de marqueurs en Python

Dans de nombreux scénarios de programmation, il devient nécessaire d'extraire des parties spécifiques d'une chaîne en fonction de marqueurs ou de délimiteurs prédéfinis. Prenons un exemple dans lequel nous souhaitons récupérer la sous-chaîne « 1234 » de la chaîne « gfgfdAAA1234ZZZuijjk ».

Pour répondre efficacement à cette exigence, importez le module « re », qui fournit de puissantes fonctionnalités d'expression régulière en Python. Voici les étapes à suivre :

  1. Définissez un modèle d'expression régulière à l'aide de la fonction 're.search' :

    m = re.search('AAA(.+?)ZZZ', text)
    • 'AAA' et 'ZZZ 'représentent les marqueurs entourant la sous-chaîne souhaitée.
    • '. ?' correspond à toute séquence de caractères non gourmande entre les marqueurs.
  2. Vérifiez si le motif correspond dans le texte donné :

    if m:
        found = m.group(1)
    • Si le modèle correspond avec succès, 'm' sera un objet Match.
    • Utilisez 'm.group(1)' pour extraire la sous-chaîne capturée comprise entre le marqueurs.

Alternativement, vous pouvez simplifier le code à l'aide d'un bloc try-sauf :

try:
    found = re.search('AAA(.+?)ZZZ', text).group(1)
except AttributeError:
    # Handle the case when markers are not present in the string
    found = ''

Dans les deux cas, le résultat sera attribué à la variable 'found', qui contiendra la sous-chaîne '1234'.

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