Expression régulière en python

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, voilà j'aimerait utiliser une expression régulière qui me permettait de récupérer le contenu de <script language="javascript"></script> en python !!

je ne comprend néanmoins pas grand chose au regex en python si vous pouviez m'aider !!

merci !!

3 réponses

  1. heyquem Messages postés 808 Statut Membre 131
     
    Bonjour,

    Eh bien la RE '<script language="javascript">(.*?)</script>' devrait faire l'affaire.
    Elle capture ce qui est entre
    '<script language="javascript">'
    et
    '</script>'
    dans un groupe (le groupe 1)

    Tu fais

    - soit
    re.search('<script language="javascript">(.*?)</script>',ch).group(1)

    pour récupérer la première occurence dans la chaine ch
    si tu n'as à le faire qu'un nombre très limité de fois dans un programme

    - ou
    pat = re.compile('<script language="javascript">(.*?)</script>')   
    pat.search(ch).group(1)  

    si tu dois répéter plusieurs fois une telle recherche

    - soit
    re.findall('<script language="javascript">(.*?)</script>',ch)

    pour extraire toutes les occurences d'un texte

    - ou
    pat = re.compile('<script language="javascript">(.*?)</script>')   
    pat.findall(ch)  

    pour extraire plusieurs fois toutes les occurences de différents textes

    - soit
    pat = re.compile('<script language="javascript">(.*?)</script>')   
    for match in pat.finditer(ch):   
        x = match.group(1)   
        traitement à partir de x  

    si tu veux faire des traitements à chaque occurence rencontrée

    Le point d'interrogation dans (.*?) est très important: c'est lui qui limite la gloutonnerie du moteur de regex: grâce à la présence de ce '?' , le moteur de regex s'arrête à la première rencontre de '</script>' après '<script language="javascript">' ,
    sinon le groupe capturerait toute la portion de texte située entre un '<script language="javascript">' et le DERNIER '</script>' rencontré après, même si dedans cette portion il ya des '<script language="javascript">' et des '</script>' rencontrés.
    2
  2. Utilisateur anonyme
     
    merci pour ton post complet !!
    1
    1. heyquem Messages postés 808 Statut Membre 131
       
      De rien.

      J'ai regardé ton profil. J'ai l'impression que tu t'es mis à Python depuis peu. C'est pour ajouter une corde à ton arc ou pour remplacer plus ou moins Java ?
      0
  3. Utilisateur anonyme
     
    nan j'avait déja quelque connaissance en python mais j'ai envie de m'améliorer !!
    Je maitrise déjà le c/c++ / javascript/php en partit est html/css
    -1