Partage
  • Partager sur Facebook
  • Partager sur Twitter

Capturer une url avec les regex en Python

Sujet résolu
    25 octobre 2021 à 21:09:40

    Bonsoir, comme le nom l'indique, j'essaye de match une URL avec des regex et à en capturer certaines parties, sans grand succès.

    Je semblais obtenir le bon résultat avec les regex de l'outils Replace de VS Code, mais cela ne fonctionne plus sous Python.

    La regex a été quelque peu modifiées depuis.

    Je suis en présence de chaines dans le genre '[https://en.wikipedia.org/wiki/Git Git]'. Je dois les différencier de chaine du type '[[GIt]]'.

    Etant donné cette chaine, je dois la substituer en [Git](https://en.wikipedia.org/wiki/Git). 

    Voici la regex que j'utilise : 

    text = 'ahah [https://en.wikipedia.org/wiki/Git Git] '
    
    text = re.sub(r"\[([\w\-#&~:/.=+]+) (.+)\]([^(])", r"[\2](\1)\3", text) 
    
    print(text)
    
    # sortie:
    # ahah [https://en.wikipedia.org/wiki/Git Git]

    J'ai beau relire la regex et la doc, je ne parviens pas à mettre le doigt dessus. Merci par avance pour vos conseils.

    Edit:

    J'ai décidé de faire mes tests directement dans l'interpréteur et plus dans des fichiers que je lançais, et surprise ! La regex marche du tonnerre.

    Je ne comprends cependant pas pourquoi, je vais googler tout ça.

    Je laisse le post ouvert jusqu'à demain matin, dans le cas où je trouve une réponse à ce phénomène afin de pouvoir l'écrire.

    Bonne soirée.

    -
    Edité par lemonnTree 25 octobre 2021 à 21:41:21

    • Partager sur Facebook
    • Partager sur Twitter

    Status 418

      25 octobre 2021 à 23:43:53

      Oui ta regex fonctionne.

      L'erreur est certainement ailleurs dans ton code... (problème de scope ?)

      -
      Edité par thelinekioubeur 25 octobre 2021 à 23:46:06

      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2021 à 10:41:58

        Bonjour,

        Et comme ça ? :

        text = 'ahah [https://en.wikipedia.org/wiki/Git Git] '
        m = re.match(r'.*\[(.*) .*\] ', text)
        print(m.group(1))
        #sortie : https://en.wikipedia.org/wiki/Git
        



        • Partager sur Facebook
        • Partager sur Twitter

        Capturer une url avec les regex en Python

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown