50 votes

Expressions régulières Python OU

Supposons que je veuille une expression régulière qui correspond à la fois à « Envoyé depuis mon iPhone » et « Envoyé depuis mon iPod ». Comment écrire une telle expression ?

J'ai essayé des choses comme :

 re.compile("Sent from my [iPhone]|[iPod]") 

mais ne semble pas fonctionner.

82voto

Paulpro Points 54844
re.compile("Sent from my (iPhone|iPod)")

27voto

ThiefMaster Points 135805
re.compile("Sent from my (?:iPhone|iPod)")

Si vous devez capturer des correspondances, supprimez le ?: .

Pour info, votre regex n'a pas fonctionné car vous testez un caractère parmi i,P,h,o,n,e ou un caractère parmi i,P,o,d..

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X