Žolíkový znak
Žolíkový znak nebo zástupný znak je v informatice prostředek umožňující zapsat jedním výrazem větší množství řetězců, obvykle jmen souborů, například zápisu Faktura_2016*.pdf
vyhovují všechny soubory, jejichž jméno začíná Faktura_2016
a končí příponou .pdf
.
Zápisy pomocí žolíkových znaků připomínají regulární výrazy. Mají i stejný účel a často používají stejné znaky, ale s jinými významy. Proto je nutné vždy vědět, zda má být použit žolíkový zápis nebo regulární výraz. Žolíkové zápisy jsou jednodušší a pro většinu uživatelů srozumitelnější, ale nejsou tak silné jako regulární výrazy.
Syntaxe
Nejrozšířenějším žolíkovým znakem je hvězdička (*
), která nahrazuje libovolný řetězec (i prázdný). V SQL se místo hvězdičky používá znak procento (%
).
Znak otazník (?
) nahrazuje libovolný jeden znak. V některých verzích SQL se místo otazníku používá znak podtržítko (_
).
V OpenVMS se používá hvězdička pro libovolný řetězec a procento pro libovolný znak.
V unixových systémech jsou dostupné další zápisy:
- seznam znaků v hranatých závorkách; pomlčka umožňuje zadat rozsah znaků a stříška (
^
) bezprostředně za otevírací závorkou neguje seznam:[02468]
je libovolná sudá číslice[^13579]
je libovolný znak různý od liché číslice (tj. i písmena, speciální znaky, apod.)[0-5]
je libovolná z číslic0
až5
.
- seznam řetězců oddělených čárkami uzavřený ve složených závorkách
mv /tmp/workfile/abc.{txt,old}
je zkrácený zápis místomv /tmp/workfile/abc.txt /tmp/workfile/abc.old
.
Další programy mohou používat vlastní způsoby zápisu žolíkových výrazů, například v novějších verzích Microsoft Office je dostupný zápis pomocí hranatých závorek (místo stříšky se pro negaci používá vykřičník !
) a použití znaku mřížka (#
) pro libovolnou číslici.
Rozdíly ve zpracování
Zatímco v unixových systémech expanduje žolíkové znaky interpret příkazů podle jmen aktuálně dostupných souborů, v systémech MS-DOS, Microsoft Windows, OpenVMS provádějí expanzi žolíkových znaků jednotlivé aplikace. Nevýhodou druhého přístupu je, že žolíkové výrazy fungují pouze v programech, které obsahují kód pro zpracování žolíkových znaků a že se způsob zpracování žolíkových výrazů může v různých programech lišit. Umožňuje však jednoduše zapsat například přejmenování skupiny souborů:
REN *.TXT *.DOC
V unixových systémech může za znakem hvězdička následovat libovolný text; COMMAND.COM v MS-DOSu a starší verze interpretu v Microsoft Windows znaky za hvězdičkou ignorovaly, zpracovávaly však zvlášť vlastní jméno a příponu, takže za hvězdičkou ve vlastním jméně mohla následovat tečka a přípona.