Extraire une chaine de caractère avec un regEx python

Fermé
der - Modifié le 23 nov. 2021 à 21:23
 douba - 24 nov. 2021 à 16:23
Bonjour,
j'ai un fichier txt , qui comporte des parties: {Erreur: ..bla ..bla ..bla.. ) }..suite du texte , je voudrais extraire cette partie entre { } et l'écrire dans un autre fichier txt , comment faire en python?

merci d'avance,
A voir également:

2 réponses

Utilisateur anonyme
23 nov. 2021 à 23:03
Bonjour

une regex c'est très précis, et {Erreur: ..bla ..bla ..bla.. ) } ça ne l'est pas vraiment.
Pour fonctionner, le modèle doit être à la fois suffisamment restrictif pour ne pas faire de "faux positif" et suffisamment ouvert pour ne pas exclure une capture correcte.

Pour faire tes tests, il y a des sites spécialisés. https://regex101.com/ par exemple propose, entre autres, le moteur de regex python.

Pour la démarche, tu ouvres le fichier d'origine, tu en extrais les captures et tu les écrit dans le second fichier.
0
Salut,

Cadeau :
import re

text = '''
{Erreur: ..bla ..bla ..bla.. ) }..suite du texte  {Erreur: ..bli ..bli ..bli.. ) }..suite du texte
{Erreur: ..blo ..blo ..blo.. ) }
..suite du texte
{Erreur: ..blu ..blu ..blu.. ) }..suite du texte
'''

for part in re.finditer('\{([^\}]*?)}', text):
    print(part[1])


le *? sert à inverser la tendance à la gourmandise, ce qu'il se passe si on utilise + à la place de *?
0