Cattura
Lezione 17 di 28 del corso Espressioni regolari in Python di Coddy.
I gruppi di cattura non si limitano a raggruppare parti di un pattern, ma catturano anche il testo corrispondente. Questi gruppi catturati possono essere richiamati in seguito nel pattern oppure usati nella stringa di sostituzione.
import re
text = "abab abab abab"
pattern = r"(ab)\1"
matches = re.findall(pattern, text)
print(matches) # Output: ['ab', 'ab']Nell’esempio precedente, il pattern (ab)\1 cattura il gruppo "ab" e poi cerca lo stesso gruppo subito dopo. \1 è un riferimento all’indietro al primo gruppo catturato.
Un altro esempio:
import re
text = "My email is example@example.com and my backup is backup@example.com."
pattern = r"(\w+)@example\.com"
matches = re.findall(pattern, text)
print(matches) # Output: ['example', 'backup']Nell’esempio precedente, il pattern (\w+)@example\.com cattura la parte dell’indirizzo email che precede @example.com.
Sfida
FacileScrivi una funzione chiamata find_repeated_patterns che accetta una stringa di testo come input e restituisce un elenco di schemi ripetuti di due caratteri.
Provalo tu
import re
def find_repeated_patterns(text):
# Scrivi il codice quiTutte le lezioni di Espressioni regolari in Python
1Introduzione
Introduzione3Sintassi di base dei pattern
Metacaratteri di baseLetteraliClassi di caratteriIntervalliClassi predefinite comuniClassi predefinite avanzateEsercitati da solo: Compilatore Python online