Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Raggruppamento, Quantificatori e Ancore | Espressioni Regolari Intermedie
Espressioni Regolari Python

Raggruppamento, Quantificatori e Ancore

Scorri per mostrare il menu

Comprendere come raggruppare parti di un pattern, specificare il numero di ripetizioni e definire dove deve avvenire una corrispondenza all'interno di una stringa sono competenze essenziali per scrivere espressioni regolari potenti. In Python, si usano le parentesi () per creare gruppi, che permettono di trattare più caratteri come un'unica unità. I quantificatori come *, +, ? e {n,m} controllano quante volte un carattere o un gruppo deve comparire. Gli ancoraggi come ^ e $ sono simboli speciali che corrispondono rispettivamente all'inizio o alla fine di una stringa.

Raggruppamento con le parentesi

Il raggruppamento con le parentesi consente di applicare i quantificatori a interi sotto-pattern invece che a singoli caratteri. Ad esempio, (ab)+ corrisponde a una o più ripetizioni della sequenza ab.

Quantificatori

  • L'asterisco (*) significa "zero o più volte";
  • Il segno più (+) significa "una o più volte";
  • Il punto interrogativo (?) significa "zero o una volta";
  • Le parentesi graffe ({n,m}) specificano un numero minimo (n) e massimo (m) di volte.

Ancoraggi

Gli ancoraggi non sono caratteri da trovare, ma marcatori di posizione nella stringa. Il simbolo di accento circonflesso (^) indica l'inizio, mentre il simbolo del dollaro ($) indica la fine di una stringa.

1234567
import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)

Analisi passo-passo: Raggruppamenti e quantificatori

In questo esempio, il pattern di espressione regolare (world\s+)+ viene utilizzato per trovare occorrenze ripetute della parola world seguita da spazi. Vediamo come funziona questo pattern:

  • Le parentesi () creano un gruppo attorno a world\s+, trattando la parola world e il successivo spazio bianco come un'unica unità;
  • Il quantificatore segno più + subito dopo il gruppo indica che questo gruppo deve comparire una o più volte di seguito;
  • Di conseguenza, il pattern corrisponde a ogni sequenza in cui world si ripete con spazi tra una e l'altra, catturando la sequenza più lunga possibile.

Il raggruppamento è particolarmente utile quando si desidera applicare quantificatori a una sequenza di caratteri o catturare parti di una corrispondenza per un uso successivo. I quantificatori possono essere applicati a singoli caratteri, classi di caratteri o interi gruppi. Utilizzare gli ancoraggi con questi pattern permette di controllare ulteriormente dove avvengono le corrispondenze, ad esempio trovando una parola ripetuta solo all'inizio o alla fine di una stringa.

question mark

Cosa corrisponde il pattern regex (ab)+?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 1
some-alt