Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Scrivi 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 qui

Tutte le lezioni di Espressioni regolari in Python

Esercitati da solo: Compilatore Python online