Extraire une chaine de caractère avec un regEx python

der -  
 douba -
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,

2 réponses

  1. Utilisateur anonyme
     
    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
  2. douba
     
    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