4.2.2 Corrispondenza contro ricerca

Python fornisce due differenti operazioni primitive basate sulle espressioni regolari: match (NdT: corrispondenza) e search (NdT: ricerca). Se siete abituati alla semantica del Perl, l'operazione search è ciò che stavate cercando. Vedete la funzione search() ed il corrispondente metodo della compilazione di oggetti espressione regolare.

Notate che match può differire da search usando un'espressione regolare che inizi con "^": "^" corrisponde solo all'inizio della stringa, o nella modalità MULTILINE anche immediatamente dopo un fine riga. L'operazione ``match'' ha successo solo se il modello corrisponde all'inizio della stringa, senza considerare la modalità, o alla posizione iniziale fornita dal parametro opzionale pos, senza considerare se un fine riga lo precede.

re.compile("a").match("ba", 1)           # successo
re.compile("^a").search("ba", 1)         # fallimento; 'a' non è all'inizio
re.compile("^a").search("\na", 1)        # fallimento: 'a' non è all'inizio
re.compile("^a", re.M).search("\na", 1)  # successo
re.compile("^a", re.M).search("ba", 1)   # fallimento; non è preceduto da \n

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.