Un glob pattern è una sintassi attraverso la quale si rappresenta un insieme di stringhe.

È la sintassi tradizionalmente usata nelle shell testuali dei sistemi Unix e Unix-like, ma anche MS-DOS per effettuare l'espansione di nomi di file e directory, e riprende in piccola parte quella delle espressioni regolari.

Sintassi

In un glob pattern la maggior parte dei caratteri è vista in modo letterale (ad esempio "a" corrisponde ad "a", "main.c" corrisponde a "main.c"). Fanno eccezione a questa regola i metacaratteri:

* Rappresenta una sequenza di zero o più caratteri qualsiasi (quindi anche una sequenza vuota). Ad esempio, "abc*" trova corrispondenza in "abcde" ma anche in "abc" stesso.
? Rappresenta un singolo carattere qualsiasi. Ad esempio, "ab?" trova corrispondenza in "abc" e in "ab1", ma non in "ab".
[caratteri]

Rappresenta un singolo carattere tra i caratteri specificati. Ad esempio "a[bB]c" trova corrispondenza in "abc" e "aBc".

Volendo specificare anche una parentesi quadra chiusa, occorre specificarla come primo carattere, ad esempio con "[]xyz]".

È possibile specificare intervalli di caratteri nella forma inizio-fine (ad esempio "[a-z]" o "[0-9]") ed anche le classi di caratteri predefinite come "[:alpha:]" o [:digit:] che si ritovano anche nelle espressioni regolari. Ad esempio "[[:alpha:]123]" trova corrispondenza in "a", "b", "1", "Z".

[!caratteri] (o anche [^caratteri]) Rappresenta un singolo carattere che non è tra i caratteri specificati. Ad esempio "ab[!ef]" trova corrispondenza in tutte le stringhe di tre caratteri eccetto "abe" e "abf". Anche in questo caso è possibile specificare intervalli e classi di caratteri.

La forma con accento circonflesso è generalmente disponibile per analogia con le espressioni regolari, sebbene non sia sancita dallo standard POSIX per l'espansione di nomi di file.

Per far in modo che un metacarattere sia visto in maniera letterale occorre precederlo con una barra inversa "\", ad esempio "ab\[cde".

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica