Expression régulière en python

Résolu/Fermé
Utilisateur anonyme - 23 déc. 2010 à 04:15
 Utilisateur anonyme - 26 déc. 2010 à 17:12
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

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
Modifié par heyquem le 23/12/2010 à 14:47
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
Utilisateur anonyme
23 déc. 2010 à 13:21
merci pour ton post complet !!
1
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
23 déc. 2010 à 14:53
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
Utilisateur anonyme
26 déc. 2010 à 17:12
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