bonjour a tous,
jaimerais savoir si il est possible de mettre
en une seule commande ???Code:
1
2
3 out = re.compile("^.* 404 \d+ \d+$", re.M).findall(str) out2 = re.compile("^.* 403 \d+ \d+$", re.M).findall(str)
merci d'avance
Version imprimable
bonjour a tous,
jaimerais savoir si il est possible de mettre
en une seule commande ???Code:
1
2
3 out = re.compile("^.* 404 \d+ \d+$", re.M).findall(str) out2 = re.compile("^.* 403 \d+ \d+$", re.M).findall(str)
merci d'avance
Tu peux essayer comme ça, ca devrais te sortir les deux (mais c'est à tester ...)
Code:out = re.compile("^.* (403|404) \d+ \d+$", re.M).findall(str)
merci, jai deja essayé ce code ci, mais le probleme est que en mode "séparé" le code fait apparaitre une ligne de mon fichier texte contenant les numeros cités dans le code,
OR,
en passant par (404|403) je n'obtiens seulement les numéros ... :(
La méthode findall ne renvoie la chaîne entière que si elle ne contient pas de captures, 2 possibilités:
Remplacer les parenthèses capturantes par des parenthèses groupantes:
Améliorer l'expression régulière:Code:out = re.compile("^.* (?:403|404) \d+ \d+$", re.M).findall(str)
Code:out = re.compile("^.* 40[34] \d+ \d+$", re.M).findall(str)
c'est parfait ca fonctionne :)
merci beaucoup de ton aide :)