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:
rm *prova*
(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,
rm prova?
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 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:
SELECT anni FROM usertable WHERE username LIKE 'ma%'
Per ipotesi se gli utenti Mario e Massimo sono nella tabella usertable verranno selezionati ambedue.