Introduzione

Il pattern matching si occupa di ricercare un pattern $P$ in un testo $T$. Si hanno:

Defnizione: Definiamo “stringa” come una sequenza di simboli appartenenti ad un dato alfabeto $\Sigma$, scritta come:

$$ X = x_1, ..., x_n, \ \forall x \in \Sigma $$

ovviamente non è necessario che la stringa contenga tutti i simboli dell’alfabeto.

Diamo alcune definizioni utili:

Definizione: Definiamo il pattern matching esatto come la ricerca di tutte le occorrenze esatte di un pattern $P$ in un testo $T$.

$P$ occorre esattamente in $T$, a partire dall’indice $i$ in $T$, sse:

$$ T[i, i+|P|-1] \text{ coincide con } P $$

Quindi in output ho tutte le posizioni $i$ nel testo tali per cui