Wyrażenia regularne
Category: Programowanie| kwiecień 14th, 2008Czasami człowiek pisząc coś w php korzysta z wyrażeń regularnych ale niekiedy nie pamięta co jaki znaczek do czego służy, dlatego przygotowałem sobie małą ściąge który znaczek do czego służy a wiec:
Znaki specjalne które należy poprzedzić znakiem \
- \ . [ ^ $ | ( ) * + ? {
- . - kropka zastępuje dowolny znak
- [abc] - definiuje litery abc
- [0-9] - definiuje cyfry od 0 do 9
- [0-9a-fA-F] - definiuje cyfry od 0 do 9 i znaki a-f, A-F przydatne do filtrowania znaków hexa
- [1\-9] - definiuje znaki 1, 9 oraz znak minusa
- [^a-f] - znak ^ w zbiorze znaków oznacza negację, czyli brane są pod uwagę znaki niewyszczególnione w zbiorze
Ograniczenia liczby wystąpień danego znaku:
- * - zero lub więcej razy - zachłanne
- + - jedno lub więcej dopasowań - zachłanne
- ? - zero lub jedno wystąpienie - zachłanne
- *? zero lub więcej wystąpień - leniwe
- +? - jedno lub więcej wystąpień - leniwe
- ?? - zero lub jedno wystąpienie - leniwe
- *+ - zero lub więcej wystąpień - bez nawrotów
- ++ - jedno lub więcej wystąpień - bez nawrotów
- ?+ - zero lub jedno wystąpienie - bez nawrotów
- {n} - dokładnie n wystąpień - zachłanne
- {n,} - co najmniej n wystąpień - zachłanne
- {m,n} - od n do m wystąpień - zachłanne
- {n,}? - co najmniej n wystąpień - leniwe
- {m,n}? - od n do m wystąpień - leniwe
- {n}+ - dokładnie n wystąpień - bez nawrotów
- {m,n}+ - od n do m wystąpień - bez nawrotów
- {n,}+ - co najmniej n wystąpień - bez nawrotów
Flagi:
- i - Wielkość liter nie ma znaczenia.
- m - napis będzie interpretowany linia po linii (kotwice ^ oraz $ pasują do początku i końca każdej linii).
- s - Kropka . pasuje do znaku nowej linii \n.
- x - Białe znaki są ignorowane, a wyrażenie może zawierać komentarze (w stylu basha: od znaku # do końca linii).
- U - Zmienia zachłanność kwantyfikatorów. Zachłannym stają się kwantyfikatory ze znakiem zapytania (np. *?), zaś kwantyfikatory zwykłe (np. *) przestają być zachłanne.
- u - Wyrażenie regularne i napis są kodowane w utf-8.
- A - Wymusza, by kotwica ^ pasowała tylko do początku napisu.
- D - Wymusza, by kotwica $ pasowała wyłącznie do końca łańcucha.