Regulární výrazy: Porovnání verzí
Z Milan Kerslager
(Tabulka) |
(→Přehled: třídy znaků) |
||
Řádka 7: | Řádka 7: | ||
! Základní | ! Základní | ||
! Rozšířený | ! Rozšířený | ||
− | ! | + | ! Popis |
|- | |- | ||
| align=center | <code>.</code> | | align=center | <code>.</code> | ||
Řádka 62: | Řádka 62: | ||
|} | |} | ||
+ | Seznam tříd znaků podle POSIXu a Perlu: | ||
+ | |||
+ | :{| class="wikitable" | ||
+ | |- | ||
+ | ! POSIX !! Perl !! ASCII !! Popis | ||
+ | |- | ||
+ | | <code>[:alnum:]</code> | ||
+ | | | ||
+ | | <code>[A-Za-z0-9]</code> | ||
+ | | Alfanumerické znaky | ||
+ | |- | ||
+ | | <code>[:word:]</code> | ||
+ | | <code>\w</code> | ||
+ | | <code>[A-Za-z0-9_]</code> | ||
+ | | Alfanumerické znaky plus "_" | ||
+ | |- | ||
+ | | | ||
+ | | <code>\W</code> | ||
+ | | <code>[^\w]</code> | ||
+ | | Znaky netvořící slova | ||
+ | |- | ||
+ | | <code>[:alpha:]</code> | ||
+ | | | ||
+ | | <code>[A-Za-z]</code> | ||
+ | | Alfabetické znaky | ||
+ | |- | ||
+ | | <code>[:blank:]</code> | ||
+ | | | ||
+ | | <code>[ \t]</code> | ||
+ | | Mezera a tabelátor | ||
+ | |- | ||
+ | | <code>[:cntrl:]</code> | ||
+ | | | ||
+ | | <code>[\x00-\x1F\x7F]</code> | ||
+ | | Řídící znaky | ||
+ | |- | ||
+ | | <code>[:digit:]</code> | ||
+ | | <code>\d</code> | ||
+ | | <code>[0-9]</code> | ||
+ | | Čísla | ||
+ | |- | ||
+ | | | ||
+ | | <code>\D</code> | ||
+ | | <code>[^\d]</code> | ||
+ | | Nečíselné znaky | ||
+ | |- | ||
+ | | <code>[:graph:]</code> | ||
+ | | | ||
+ | | <code>[\x21-\x7E]</code> | ||
+ | | Viditelné znaky | ||
+ | |- | ||
+ | | <code>[:lower:]</code> | ||
+ | | | ||
+ | | <code>[a-z]</code> | ||
+ | | Malá písmena | ||
+ | |- | ||
+ | | <code>[:print:]</code> | ||
+ | | | ||
+ | | <code>[\x20-\x7E]</code> | ||
+ | | Viditelné znaky a mezery | ||
+ | |- | ||
+ | | <code>[:punct:]</code> | ||
+ | | | ||
+ | | <code><nowiki>[-!"#$%&'()*+,./:;<=>?@\[\\\]_`{|}~]</nowiki></code> | ||
+ | | Speciální znaky | ||
+ | |- | ||
+ | | <code>[:space:]</code> | ||
+ | | <code>\s</code> | ||
+ | | <code>[ \t\r\n\v\f]</code> | ||
+ | | Bílé znaky (mezery atp.) | ||
+ | |- | ||
+ | | <code></code> | ||
+ | | <code>\S</code> | ||
+ | | <code>[^\s]</code> | ||
+ | | Znaky, které nejsou bílými znaky | ||
+ | |- | ||
+ | | <code>[:upper:]</code> | ||
+ | | | ||
+ | | <code>[A-Z]</code> | ||
+ | | Velká písmena | ||
+ | |- | ||
+ | | <code>[:xdigit:]</code> | ||
+ | | | ||
+ | | <code>[A-Fa-f0-9]</code> | ||
+ | | Hexadecimální čísla | ||
+ | |} | ||
== Externí odkazy == | == Externí odkazy == | ||
* http://www.root.cz/clanky/regularni-vyrazy-1/ – série 5 dílů | * http://www.root.cz/clanky/regularni-vyrazy-1/ – série 5 dílů |
Verze z 8. 12. 2009, 16:42
Regulární výrazy slouží pro obecný popis textových řetězců. Rozdělují se na regulární výrazy podle normy POSIX a podle jazyka Perl. Využívají se při zpracování textů (hledání, nahrazování), kontrole vstupu (rodné číslo, URL, e-mailová adresa, ...). Jejich podporu nalezneme přímo v některých programovacích jazycích (Perl, Python), používají je unixové nástroje (příkaz grep
), jsou k dispozici v podobě knihoven atd.
Přehled
Seznam základních a rozšířených POSIXových regulárních výrazů:
Základní Rozšířený Popis .
Jakýkoliv 1 znak (i žádný znak) [abc]
Jeden z uvedených znaků [^abc]
Žádný z uvedených znaků [c..e]
Jeden z rozsahu uvedených znaků (zde c, d nebo e) ^
Začátek řádku (řetězce) $
Konec řádku (řetězce) \( \)
( )
Skupina znaků (zapamatovatelná) *
Libovolné opakování předchozího znaku (skupiny), i žádné (0 krát) \n
Zapamatovaná skupina číslo n \{m,n\}
{m,n}
Opakování předchozího znaku (skupiny) m až n krát ?
Žádný nebo jednonásobný výskyt předchozího znaku (skupiny) +
Jedno- nebo vícenásobné opakování předchozího znaku (skupiny) |
Vyznačení variant (logická spojka nebo)
Seznam tříd znaků podle POSIXu a Perlu:
POSIX Perl ASCII Popis [:alnum:]
[A-Za-z0-9]
Alfanumerické znaky [:word:]
\w
[A-Za-z0-9_]
Alfanumerické znaky plus "_" \W
[^\w]
Znaky netvořící slova [:alpha:]
[A-Za-z]
Alfabetické znaky [:blank:]
[ \t]
Mezera a tabelátor [:cntrl:]
[\x00-\x1F\x7F]
Řídící znaky [:digit:]
\d
[0-9]
Čísla \D
[^\d]
Nečíselné znaky [:graph:]
[\x21-\x7E]
Viditelné znaky [:lower:]
[a-z]
Malá písmena [:print:]
[\x20-\x7E]
Viditelné znaky a mezery [:punct:]
[-!"#$%&'()*+,./:;<=>?@\[\\\]_`{|}~]
Speciální znaky [:space:]
\s
[ \t\r\n\v\f]
Bílé znaky (mezery atp.) \S
[^\s]
Znaky, které nejsou bílými znaky [:upper:]
[A-Z]
Velká písmena [:xdigit:]
[A-Fa-f0-9]
Hexadecimální čísla
Externí odkazy
- http://www.root.cz/clanky/regularni-vyrazy-1/ – série 5 dílů