Expression régulière en python
Résolu
Utilisateur anonyme
-
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 !!
je ne comprend néanmoins pas grand chose au regex en python si vous pouviez m'aider !!
merci !!
3 réponses
-
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
- soitre.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
- oupat = re.compile('<script language="javascript">(.*?)</script>') pat.search(ch).group(1)
si tu dois répéter plusieurs fois une telle recherche
- soitre.findall('<script language="javascript">(.*?)</script>',ch)
pour extraire toutes les occurences d'un texte
- oupat = re.compile('<script language="javascript">(.*?)</script>') pat.findall(ch)
pour extraire plusieurs fois toutes les occurences de différents textes
- soitpat = 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. -
-
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