Quantificatori
Lezione 14 di 28 del corso Espressioni regolari in Python di Coddy.
I quantificatori permettono di specificare quante volte un carattere o un gruppo di caratteri può essere ripetuto nel tuo pattern regex. I quantificatori più usati sono *, + e ?.
<strong>*</strong>: Corrisponde a 0 o più ripetizioni dell’elemento precedente.<strong>+</strong>: Corrisponde a 1 o più ripetizioni dell’elemento precedente.<strong>?</strong>: Corrisponde a 0 o 1 ripetizione dell’elemento precedente.
import re
text = "The rain in Spain stays mainly in the plain."
pattern_star = r"Sp.*n"
pattern_plus = r"Sp.+n"
pattern_question = r"Sp.?n"
matches_star = re.findall(pattern_star, text)
matches_plus = re.findall(pattern_plus, text)
matches_question = re.findall(pattern_question, text)
print("Matches for '*':", matches_star) # Output: ['Spain stays mainly in the plain']
print("Matches for '+':", matches_plus) # Output: ['Spain stays mainly in the plain']
print("Matches for '?':", matches_question) # Output: ['Span']Nell’esempio precedente, il pattern Sp.*n corrisponde a "Spain stays mainly in the plain" perché .* corrisponde a qualsiasi carattere (tranne il carattere di nuova riga) 0 o più volte. Il pattern Sp.+n corrisponde a "Spain stays mainly in the plain" perché .+ corrisponde a qualsiasi carattere 1 o più volte. Il pattern Sp.?n corrisponde a "Span" perché .? corrisponde a qualsiasi carattere 0 o 1 volta.
Sfida
FacileScrivi una funzione chiamata find_repeated_words che accetta una stringa di testo come input e restituisce un elenco di parole che contengono la lettera "a" ripetuta 0 o più volte.
Provalo tu
import re
def find_repeated_words(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