Metacarattere
# Metacarattere

Un metacarattere o carattere jolly (in inglese: wild character o wildcard character) è un carattere che, all'interno di una stringa, non rappresenta se stesso bensì un insieme di altri caratteri o sequenze di caratteri.

Un esempio ben noto è rappresentato dai metacaratteri utilizzati dalle shell del sistema operativo Unix per la specifica dei nomi di file. In questo caso, per esempio il carattere * rappresenta una qualsiasi sequenza di caratteri (con la sola eccezione di caratteri di significato speciale come . e /), inclusa la sequenza vuota. Così, per esempio, il comando:

(dove rm sta per remove, rimuovi, e deve essere seguito dal nome del file da rimuovere) rimuoverà tutti i file il cui nome includa la sequenza "prova" (seguita o preceduta da qualsiasi altra sequenza). Il metacarattere ? rappresenta invece uno, e un solo, carattere: così per esempio,

rimuoverà solo i file il cui nome sia composto esattamente da sei caratteri, della forma per esempio "prova1" "prova2" ecc. (ma non rimuoverà "prova12").

I metacaratteri ovviamente sono convenzionali e ogni sistema informatico può utilizzarne un insieme diverso. Per esempio, l'interprete dei comandi di MS-DOS utilizza metacaratteri simili a quelli del sistema Unix, ma assegnando loro un significato differente.

Comune è l'uso del metacarattere % in sistemi che facciano uso di basi di dati che fanno uso dello Structured Query Language in richieste SELECT LIKE, ad esempio:

Per ipotesi se gli utenti Mario e Massimo sono nella tabella usertable verranno selezionati ambedue.

