Wyrażenia regularne
Budowa wyrażeń regularny w językach programowania, na pierwszy rzut oka wydaje się dość skomplikowana. W rzeczywistości kiedy już dokładnie poznamy znaczenie poszczególnych symboli to tworzenie własnych wyrażeń jest bardzo proste i przyjemne. Spróbujmy więc nauczyć się je pisać.
Podstawowe znaczniki
Najczęściej używanymi symbolami podczas tworzenia wyrażeń regularnych są:
- /^ – oznacza, że dopasowywanie ciągu znaków, należy rozpocząć od początku łańcucha,
- /d – oznacza cyfrę,
- $/ – oznacza, że w tym miejscu dany łańcuch znaków musi się skończyć,
- {10} – cyfra zamknięta w klamrach oznacza liczbę powtórzeń znaku, który został zadeklarowany przed nią,
Przykład:
\d{10}
Oznacza 10 powtórzeń znaku /d czyli 10 cyfr.
/^\d{10}$/
Oznacza, że dopasowywanie ciągu znaków należy rozpocząć od początku łańcucha znaków (/^), następnie ma się znajdować 10 cyfr (/d{10}), a po nich nie może znajdować się już nic (łańcuch znaków ma się skończyć – $/).
Metaznaki
- /s – oznacza odstęp lub tabulację,
- /w – oznacza znaki od a – z i A – Z oraz cyfry od 0 do 9,
- . – oznacza dowolny znak (z wyjątkiem „nowego wiersza”).
Kwantyfikatory
- + – oznacza, że wcześniejszy znak lub metaznak musi pojawić się przynajmniej jeden raz,
- * – oznacza, że wcześniejszy znak lub metaznak może pojawić się dowolną liczbę razy lub w ogóle nie wystąpić,
- ? – oznacza, że wcześniejszy znak lub metaznak może pojawić się jeden raz lub w ogóle nie wystąpić.
Fragmenty, których dotyczy kwantyfikator należy zapisywać w nawiasach okrągłych.
(-\d{4})?
Oznacza, że „-” oraz cztery cyfry są opcjonalne.
Jeżeli chcesz umieścić w wyrażeniu regularnym jakiś znak np. a to po prostu wpisz go jak zwykły metaznak. Natomiast jeżeli będzie to znak specjalny np. / \ < > ? * + . $ ^ to poprzedź go lewym ukośnikiem – \
(-\d{4}a\\)?
Znak „-„, cztery cyfry, litera a oraz lewy ukośnik (\) są opcjonalne.