Třídy znaků zadané pomocí UNICODE vlastností
Třetí možností jak popsat třídu znaků je pomocí vlastností znaků Unicode. Každá z vlastností má své pojmenování, jejíž prostřednictvím jsou na místo třídy znaků dosazeny všechny symboly odpovídající zadaným vlastnostem (znaky jsou uloženy v souborech, jména tříd jsou mapována na jména těchto souborů). Je-li jméno třídy víceznakové, je nutné pro jeho ohraničení použít složené závorky. Pro jednoznaková jména závorky povinné nejsou. Znaky mající určité vlastnosti jsou pojmenovány pomocí p { VLASTNOST }, zápisP { VLASTNOST } reprezentuje všechny znaky, které zadané vlastnosti nevyhovují. Třída znaku zadaná pomocí konstrukce ,p{} nebo P {} je použitelná samostatně, stejně tak jako uvnitř hranatých závorek.
Standardní třída znaků Unicode
Perl nabízí jak standardní třídy znaků Unicode, tak třídy znaků definované pomocí standardních tříd Unicode. V následující tabulce jsou uvedeny nejpoužívanější znaky standardní třídy Unicode:
Třída znaků | Význam |
---|---|
IsL1 | Malé písmeno |
IsLu | Velké písmeno |
IsNd | Desítková číslice |
IsPi | Otevírací uvozovka |
IsPf | Uzavírací uvozovka |
IsSm | Matematický symbol |
IsSc | Symbol měny |
IsZ1 | Oddělovač řádků |
IsZp | Oddělovač odstavců |
IsZs | Mezera |
Třída znaků podle standardu Posix
Poslední možností vyjádření třídy znaků je pomocí stylu POSIX. Třída je popsána konstrukcí [:název:] a lze ji použít pouze uvnitř třídy znaků vyjádřené výčtem (=uvnitř dvojice hranatých závorek [[:alpha:]] ). Bez těchto ohraničovacích hranatých závorek je celá implementace třídy jiná. Rozšířením Perlu je použití znaku ^ před názvem třídy- To opět znamená negaci uvedené třídy a taková třída znaků bude obsahovat všechny znaky kromě těch, jež jsou uvedeny v negované třídě. V následující tabulce jsou uvedeny názvy tříd znaků podle standardu POSIX:Třída | Význam |
---|---|
alnum | Alfanumerický znak |
alpha | Písmeno |
ascii | Znak s ordinální hodnotou od 0 do 127 |
blank | Bílý znak |
cntrl | Kontrol sekvence |
digit | Desítková číslice |
graph | Alfanumerický nebo interpunkční znak |
lower | Malé písmeno |
Alfanumerický, interpunkční nebo mezera | |
punct | Interpunkční znak |
space | Bílý znak |
upper | Velké písmeno |
word | Alfanumerický znak nebo podtržítko |
xdigit | Hexadecimální číslice |
A to by bylo pro dnešek všechno. V dalším díle se podíváme na kvantifikátory. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.
Autor: Robert Habrman