Python offre deux différentes opérations primitives basées sur les expressions régulières : match et search. Si vous êtes accoutumés à la sémantique de Perl, l'opération search est ce que vous recherchez. Voir la fonction search() et la méthode correspondante des objets expressions régulières compilées.
Il faut noter que match peut être différent de search en utilisant une expression régulière commençant par "^": "^"correspond seulement au début de la chaîne de caractères, ou en mode MULTILINE suivant immédiatement une nouvelle ligne. L'opération ``match'' réussit seulement si le motif correspond au début de la chaîne de caractères indépendamment du mode, ou à la position de départ donnée par l'argument facultatif pos indépendamment du fait qu'une nouvelle ligne le précède.
re.compile("a").match("ba", 1) # succès
re.compile("^a").search("ba", 1) # échec; 'a' n'est pas au début
re.compile("^a").search("\na", 1) # échec; 'a' n'est pas au début
re.compile("^a", re.M).search("\na", 1) # succès
re.compile("^a", re.M).search("ba", 1) # échec; non précédé par \n