Regulární výrazy: Porovnání verzí
Z Milan Kerslager
(Založení článku) |
(Tabulka) |
||
Řádka 1: | Řádka 1: | ||
'''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 <code>grep</code>), jsou k dispozici v podobě knihoven atd. | '''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 <code>grep</code>), jsou k dispozici v podobě knihoven atd. | ||
+ | |||
+ | == Přehled == | ||
+ | Seznam základních a rozšířených POSIXových regulárních výrazů: | ||
+ | |||
+ | :{| class=wikitable | ||
+ | ! Základní | ||
+ | ! Rozšířený | ||
+ | ! Význam | ||
+ | |- | ||
+ | | align=center | <code>.</code> | ||
+ | | align=center | | ||
+ | | Jakýkoliv 1 znak (i žádný znak) | ||
+ | |- | ||
+ | | align=center | <code>[abc]</code> | ||
+ | | align=center | | ||
+ | | Jeden z uvedených znaků | ||
+ | |- | ||
+ | | align=center | <code>[^abc]</code> | ||
+ | | align=center | | ||
+ | | Žádný z uvedených znaků | ||
+ | |- | ||
+ | | align=center | <code>[c..e]</code> | ||
+ | | align=center | | ||
+ | | Jeden z rozsahu uvedených znaků (zde c, d nebo e) | ||
+ | |- | ||
+ | | align=center | <code>^</code> | ||
+ | | align=center | | ||
+ | | Začátek řádku (řetězce) | ||
+ | |- | ||
+ | | align=center | <code>$</code> | ||
+ | | align=center | | ||
+ | | Konec řádku (řetězce) | ||
+ | |- | ||
+ | | align=center | <code>\( \)</code> | ||
+ | | align=center | <code>( )</code> | ||
+ | | Skupina znaků (zapamatovatelná) | ||
+ | |- | ||
+ | | align=center | <code>*</code> | ||
+ | | align=center | | ||
+ | | Libovolné opakování předchozího znaku (skupiny), i žádné (0 krát) | ||
+ | |- | ||
+ | | align=center | <code>\n</code> | ||
+ | | align=center | | ||
+ | | Zapamatovaná skupina číslo ''n'' | ||
+ | |- | ||
+ | | align=center | <code>\{m,n\}</code> | ||
+ | | align=center | <code>{m,n}</code> | ||
+ | | Opakování předchozího znaku (skupiny) ''m'' až ''n'' krát | ||
+ | |- | ||
+ | | align=center | | ||
+ | | align=center | <code>?</code> | ||
+ | | Žádný nebo jednonásobný výskyt předchozího znaku (skupiny) | ||
+ | |- | ||
+ | | align=center | | ||
+ | | align=center | <code>+</code> | ||
+ | | Jedno- nebo vícenásobné opakování předchozího znaku (skupiny) | ||
+ | |- | ||
+ | | align=center | | ||
+ | | align=center | <code>|</code> | ||
+ | | Vyznačení variant (logická spojka nebo) | ||
+ | |} | ||
+ | |||
== 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:37
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ý Význam .
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)
Externí odkazy
- http://www.root.cz/clanky/regularni-vyrazy-1/ – série 5 dílů