Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
PHP - Část XII. (Regulární výrazy)
11. září 2000, 00.00 | Pokračování seriálu o PHP. Popis regulárních výrazů a jejich použití jako silný nástroj pro spracování textových řetězců.
Regulární výrazy Regulární výrazy slouží ke zpracovávání
textových řetězců, a to tak, že definujeme masku, které vyhoví jen určité
řetězce. Jednodušeji řečeno, regulární výraz je řetězec několika znaků.
Textový řetězec pak tomuto regulárnímu výrazu vyhovuje jen tehdy, jestliže
obsahuje stejné znaky, které byly definovány v regulárním výrazu. K
definování regulárních výrazů se navíc používají tzv. metaznaky, které
mají speciální význam. Je jich několik a se všemi se postupně budeme
seznamovat v průběhu článku.
Začneme od začátku, tedy metaznak '^
' značí
začátek textového řetězce.
Př: regulárnímu výrazu ^aaa
vyhoví pouze řetězce, které
začínají třemi znaky 'a
' např.: aaa
nebo aaaxyz
atd.
Opačný metaznak, který značí konec textového řetězce,
se zapisuje pomocí znaku '$
'. Tento metaznak pracuje stejně jako
metaznak předchozí, rozdíl je ale v tom, že se umisťuje na konec.
Př.: regulárnímu výrazu aaa$
vyhoví pouze řetězce, které
končí třemi znaky 'a
' např.: aaa
nebo xyzaaa
atd.
Mezi další metaznaky patří '.
', '*
',
'+
' a '?
'. Metaznak tečka ('.
') v regulárním
výrazu nahrazuje jeden libovolný znak.
Př.: regulárnímu výrazu x.y
vyhoví pouze řetězce, které
začínají písmenem 'x
', končí písmenem 'z
' a
mezi nimi je ještě jeden libovolný znak např.: xyz
nebo xWz
atd.
Metaznaky '*
', '+
' a '?
'
určují, kolikrát se má daný výraz opakovat. Metaznak hvězdička ('*
')
může v regulárním výrazu zastupovat jeden nebo více libovolných znaků,
dokonce na tomto místě nemusí být žádný znak.
Př.: regulárnímu výrazu .*
vyhoví jakýkoliv textový řetězec
(i prázdný), protože tečka zastupuje libovolný znak a hvězdička říká,
že se tento znak může opakovat.
Oproti tomu metaznak plus ('+
') musí v regulárním výrazu
zastupovat minimálně jeden znak.
Př.: regulárnímu výrazu xy+z
vyhoví řetězce, které
obsahují písmeno 'x
', písmeno 'z
' a mezi nimi je několik
písmen 'y
' např.: xyz
, xyyyyz
ale i abcxyyzzz
atd.
Metaznak otazník ('?
') v regulárním výrazu znamená, že se
daný výraz může v textovém řetězci vyskytnout jen jednou nebo vůbec.
Př.: regulárnímu výrazu xy?z
vyhoví jen řetězce, které
obsahují xyz
nebo xz
.
Pokud chceme, aby metaznaky zajišťovaly opakování více
znaků za sebou, dáme tyto znaky do obyčejných závorek. Pokud chceme přesně
vymezit, kolikrát se mohou dané znaky opakovat, použijeme metaznaky '{
'
a '}
', mezi které napíšeme, kolikrát minimálně a kolikrát
maximálně se mohou znaky (nebo znak) opakovat.
Př.: regulárnímu výrazu x{10, 20}
vyhoví pouze řetězce
obsahující sekvenci znaků 'x
', kterých je min. 10 a max. 20 za
sebou.
Jestliže chceme vymezit pouze minimální počet znaků, použijeme opět tyto dva metaznaky.
Př.: regulárnímu výrazu x{10,}
vyhoví pouze řetězce, které
obsahují minimálně 10 znaků 'x
' za sebou, maximální počet
není omezen.
Můžeme i určit, kolikrát přesně se musí výraz opakovat.
Př.: regulárnímu výrazu x{25}
vyhoví pouze řetězce, ve
kterých se za sebou vyskytuje přesně 25 znaků 'x
'.
V příštím článku budeme pokračovat v regulárních výrazech, seznámíme se s funkcemi pro prácí s nimi a ukážeme si možnosti jejich využití.
Obsah seriálu (více o seriálu):
- PHP část I. - Úvod do jazyka
- PHP část II. - Instalace
- PHP - Část V. (Operátory)
- PHP - Část VIII.
- PHP - Část IX. (Vlastní funkce)
- PHP - Část X. (Proměnné ve funkcích)
- PHP - Část XI.
- PHP - Část XII. (Regulární výrazy)
- PHP - Část XIII. (Regulární výrazy podruhé)
- PHP - Část XIV. (PHP a databáze)
- PHP - Část XV. (Instalace MySQL ve Windows)
- PHP - Část XVI. (Instalace MySQL na LINUXu)
- PHP - Část XVII. (MySQL - vytvoření nové databáze)
- PHP - Část XVIII. (Vkládání dat do databáze)
- PHP - Část XIX. (MySQL - získávání dat z databáze)
- PHP - Část XX. (SQL - získávání dat z databáze II.)
- PHP - Část XXI. (SQL - získávání dat z databázových tabulek III)
- PHP - Část XXII. (MySQL - modifikace a mazání dat v tabulce)
- PHP část XXIII. - MySQL - přístupová práva
- PHP část XXIV. - PostgreSQL
- PHP část XXV. - Cookies
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007