Perl, Regulární výrazy (35.díl)

Napsal O webu (») 15. 6. 2008 v kategorii Programování, přečteno: 909×
obrazky/logo_perl.jpg

Modifikátory

Pro změnu chování operátorů pracujících s regulárními výrazy (m/ /, s / / / a qr / / ) lze použít tzv. modifikátory. Jedná se o znaky, které se umístí za koncový ohraničovací symbol operátoru. Modifikátorů může být zároveň použito více a nezáleží na tom, v jakém pořadí jsou uvedeny. V následující tabulce jsou uvedeny modifikátory regulárních výrazů spolu s jejich popisem významu.


ModifikátorVýznam
iNerozlišuje mezi malými a velkými písmeny
mS řetězcem se zachází jako s více řádky
oVzor překládá pouze jednou
sS řetězcem se zachází pouze jednou, „ .“ odpovídá i znaku konce řádku
xIgnorují se bílé znaky


Modifikátor „i“ způsobí to, že se při prohledávání řetězce nerozlišuje mezi malými a velkými písmeny.


Modifikátor „m“ se dotýká chápání kotev začátků i konců řetězce a řádků. Použijeme-li ho, znamená kotva ^ pozici následujícího znaku konce řádku a pozici na začátku řetězce, $ znamená pozici před znakem konce řádku a pozici na konci řetězce. Není-li tento modifikátor použit, znamenají tyto kotvy pouze začátek a konec řetězce.


Modifikátor „s“ umožní to, že metaznak . odpovídá i znaku konce řádku. Umožní také ignorovat proměnnou $*. Je-li tato proměnná nastavena na pravdivou hodnotu, bude každý vzor vyhodnocen tak, jako by byl v platnosti modifikátor „m“.


Modifikátory „m“ a „s“ je možné použít i současně, navzájem se nevylučují. Každý z nich totiž pouze mění chápání určitých symbolů v regulárním výrazu a tyto symboly jsou pro každý modifikátor jiné.


Použití modifikátoru „o“ je vhodné v případě, že chceme zabránit, aby byl vzor vyhodnocován za běhu programu více než jedenkrát. To se děje v případě, že vzor obsahuje nějaké proměnné, jejichž hodnoty se vkládají do vzoru až v době běhu programu. Aby se této časově náročné operaci zabránilo, použije se modifikátor „o“. Je to užitečné v případě, že víme, že se hodnota proměnné v průběhu programu nebude měnit.


Modifikátor „x“ umožňuje přehledné psaní složitých regulárních výrazů s možností vysvětlení jednotlivých částí. Všechny bílé znaky a komentáře (od znaku # do konce řádku) jsou ignorovány. Chceme-li ve vzoru použít některý z těchto znaků, musíme je uvodit obráceným lomítkem, uvést uvnitř třídy znaků nebo pomocí jeho ordinálního čísla.


A to by bylo pro dnešek všechno. V dalším díle se podíváme na formáty. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel jedenáct a sedm