AplikaceAplikace
Nastavení

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
kurz:regularni_vyrazy [2024/10/04 18:18] – [Další speciální symboly] jankrivankurz:regularni_vyrazy [2024/10/07 11:18] (aktuální) – [Kategorie znaků unicodu] michalkren
Řádek 110: Řádek 110:
  
 ^ regulární výraz ^ znaky ^ co zastupuje ^ další informace ^ ^ regulární výraz ^ znaky ^ co zastupuje ^ další informace ^
-| **seznam** | ''[ ]'' | alternativa, možnost výběru **jednoho** libovolného znaku ze znaků uvnitř hranatých závorek | v rámci seznamu je možné používat také pomlčku (''-'') jako operátor rozsahu (např. ''[a-z]'', ''[1-9]'') pro alfabetické znaky a číslice |+| **seznam** | ''[ ]'' | alternativa, možnost výběru **jednoho** libovolného znaku ze znaků uvnitř hranatých závorek | v rámci seznamu je možné používat také pomlčku (''-'') jako operátor rozsahu (např. ''[0-9]'') pro číslice |
 | **inverzní seznam** | ''[^ ]'' | výběr **jednoho** libovolného znaku **s výjimkou** znaků uvnitř hranatých závorek | pokud je prvním znakem seznamu stříška (''^''), jde o inverzní seznam: tedy jeden libovolný znak kromě těch uvedených uvnitř hranatých závorek | | **inverzní seznam** | ''[^ ]'' | výběr **jednoho** libovolného znaku **s výjimkou** znaků uvnitř hranatých závorek | pokud je prvním znakem seznamu stříška (''^''), jde o inverzní seznam: tedy jeden libovolný znak kromě těch uvedených uvnitř hranatých závorek |
 | **svislá čára** | ''|'' | alternativa, ovšem ne jenom mezi jednotlivými znaky, ale mezi řetězci tvořícími celek | kombinuje se často s kulatými závorkami, které pomáhají určit prioritu vyhodnocení | | **svislá čára** | ''|'' | alternativa, ovšem ne jenom mezi jednotlivými znaky, ale mezi řetězci tvořícími celek | kombinuje se často s kulatými závorkami, které pomáhají určit prioritu vyhodnocení |
Řádek 131: Řádek 131:
 |''[\.\!?]''|všechny tečky, vykřičníky a otazníky| |''[\.\!?]''|všechny tečky, vykřičníky a otazníky|
  
-=== Kategorie znaků unicodu ===+==== Kategorie znaků unicodu ====
  
-Jednotlivé znaky v řetězci je také možné zastoupit pomocí definovaných [[https://en.wikipedia.org/wiki/Unicode_character_property|kategorií znaků unicodu]]. Na pozici jednoho znaku se ve výrazu uvede šablona ''\p{  }'', v níž se mezi složené závorky uvede požadovaná kategorie. Pro vyhledávání v korpusu jsou patrně nejužitečnější kategorie velkých (''Lu'') a malých písmen (''Ll''). Zadání ''\p{Lu}'' tak vyhledá libovolné velké písmeno. Je ale také možné vyhledávat znaky všech typů závorek, uvozovek, interpunkci aj. Další kategorie jsou uvedeny [[https://en.wikipedia.org/wiki/Unicode_character_property#General_Category|zde]]. +Jednotlivé znaky v řetězci je také možné zastoupit pomocí definovaných [[https://en.wikipedia.org/wiki/Unicode_character_property#General_Category|kategorií znaků unicodu]]. Na pozici jednoho znaku se ve výrazu uvede šablona ''\p{  }'', v níž se mezi složené závorky uvede požadovaná kategorie. Pro vyhledávání v korpusu jsou patrně nejužitečnější kategorie velkých (''Lu'') a malých (''Ll''písmen uvnitř nadřazené kategorie písmen (''L''). Napřzadání ''\p{Lu}'' tak vyhledá libovolné velké písmeno. Je ale také možné vyhledávat znaky všech typů závorek, uvozovek, interpunkci aj. Další kategorie jsou uvedeny např. [[https://www.regular-expressions.info/unicode.html|zde pod nadpisem Unicode Categories]].  
 + 
 +<WRAP round important 50%> 
 +Upozornění: ''\p{Lu}'' **//není totéž//** co ''[A-Z]''. Zatímco unicodová kategorie pro velká písmena je obecně platná pro všechny jazyky a abecedy (a zahrnuje tedy např. "Á", "Ü" nebo "Ž"), znakové třídě ''[A-Z]'' odpovídá jen 26 velkých písmen anglické abecedy bez diakritických znamének (a tedy např. "Á", "Ü" nebo "Ž" nezahrnuje)! Důrazně proto doporučujeme vždy, když potřebujete pracovat s rozsahem písmen, používat unicodové kategorie. 
 +</WRAP>
  
 Kategorie unicodu lze libovolně kombinovat s regulárními výrazy: Kategorie unicodu lze libovolně kombinovat s regulárními výrazy:
Řádek 141: Řádek 145:
 | ''\p{Lu}+'' | tvary složené jen z velkých písmen (např. zkratky) | | ''\p{Lu}+'' | tvary složené jen z velkých písmen (např. zkratky) |
 | ''\p{Lu}\p{Ll}+'' | tvary s počátečním velkým písmenem a ostatními malými (např. propria nebo slova na začátku vět) | | ''\p{Lu}\p{Ll}+'' | tvary s počátečním velkým písmenem a ostatními malými (např. propria nebo slova na začátku vět) |
-| ''[^\p{Lu}\p{Ll}]'' | jakýkoliv jeden nealfabetický znak (tj. nikoliv malé nebo velké písmeno) | +| ''[^\p{L}]'' | jakýkoliv jeden nealfabetický znak (tj. nikoliv libovolné písmeno) | 
-| ''[\p{Lu}\p{Ll}].*[0-9].*'' | tvary začínající na písmeno a obsahující číslici |+| ''\p{L}.*[0-9].*'' | tvary začínající na písmeno a obsahující číslici |