In informatica, il pattern matching o corrispondenza di pattern è l'atto di controllare in una data sequenza di token la presenza dei costituenti di un qualche modello o pattern. Al contrario del riconoscimento di pattern, questa corrispondenza deve essere esatta. I pattern hanno generalmente la forma di sequenze o di strutture ad albero. La corrispondenza dei pattern può essere usata per ottenere le posizioni di un pattern all'interno di una sequenza, o la sostituzione del pattern con un'altra sequenza di token).
Pattern a sequenza (ad esempio una stringa di testo) sono spesso descritti usando le espressioni regolari e combaciati con tecniche come il backtracking.
I modelli ad albero sono utilizzati in alcuni linguaggi di programmazione come strumento generale per elaborare i dati in base alla loro struttura, ad esempio C#, F#, Haskell, Java, ML, Python, Ruby, Rust, Scala, Swift e il linguaggio matematico simbolico Mathematica hanno una sintassi speciale per esprimere i modelli ad albero e un costrutto linguistico per l'esecuzione condizionata e il recupero di valori basati su di essi.
Note




![]()