Wyrażenia regularne (ang. regular expressions, w skrócie regex lub regexp) to wzorce, które opisują łańcuchy symboli. Zdaniem niektórych lepszym tłumaczeniem angielskiej nazwy byłoby wyrażenia regułowe ponieważ, chodzi tu nie o regularność, a o reguły opisywane tymi wyrażeniami. Obecna nazwa jest jednak mocno zakorzeniona w literaturze informatycznej. Teoria wyrażeń regularnych jest związana z teorią tzw. języków regularnych. Wyrażenia regularne mogą określać zbiór pasujących łańcuchów, mogą również wyszczególniać istotne części łańcucha.
Dwie najpopularniejsze składnie wyrażeń regularnych to składnia uniksowa i składnia perlowa. Składnia perlowa jest znacznie bardziej rozbudowana. Jest ona używana nie tylko w języku Perl, ale także w innych językach programowania: (Ruby), bibliotece PCRE do C i w narzędziu powłoki o nazwie pcregrep (znanego też jako pgrep).
Źródło pl.wikipedia.org
To na tyle teorii o wyrażeniach regularnych zaczerpniętej z encyklopedii, dalej przejdę do dających dużo możliwości modyfikatorów...
- Modyfikatory:
- mogą występować - nie są obowiązkowe
- zmieniają sposób dopasowania wyrażenia
- Lista Modyfikatorów:
- i - nie ma znaczenia wielkość liter
- m - interpretacja po kolei wszystkich wersów napisu - ^ oraz $ oznaczają początek oraz koniec wersu
- s - . pasuje również do \n (kropka pasuje również do znaku nowej linii)
- x - ignorowanie białych znaków (\s), wyrażenie reg. może zawierać komentarze (komentarz jest interpretowany od znaku # do znaku końca linii)
- U - odwraca zachłanność kwantyfikatorów (*)
- u - kodowanie w utf-8
- A - kotwica ^ pasuje wyłącznie do początku napisu
- D - kotwica $ pasuje wyłącznie do końca napisu
- e - umożliwia używanie funkcji php (tylko preg_replace)
- Sposoby użycia:
- po końcowym ograniczniku wyrażenia np.
'/(.*?)/s'
- w wyrażeniu; początek modyfikatora to
(?i)
, ustawienie oraz usunięcie to(?i-x)
, samo usunięcie realizuje się przy pomocy (?-x), np.'/(?:(?i)jeden|(?-i)DWA)/'
- dopasuje np. do JEDEn