Wyrażenia
regularne (często nazywane regexami), ułatwiają nam pracę z
łańcuchami znaków. Warto poznać ich najważniejsze zastosowania
oraz podstawy składni, ponieważ wyrażenia regularne przydadzą się
w większości projektów.
W
dużym uproszczeniu, wyrażenia regularne pozwalają na wyszukiwanie
bardzo szczegółowo zdefiniowanych wzorów (patternów) w ciągach
znaków.
Wyrażenia
regularne, mają zastosowanie między innymi przy:
-
Walidacji formularzy
-
Pracy z adresami url
-
Przekształeniach stringów
-
Wyszukiwaniu różnego typu informacji w tekście
-
Wyszukiwanie danych w edytorze kodu źródłowego
-
Przekształcanie danych w dokumentach tekstowych, na przykład usuwanie zdublowanych spacji.
Nie
powinno się ich stosować przy:
-
Parsowaniu XML, HTML czy JSON
-
Sprawdzaniu wartości danych
-
Oraz wtedy, gdy do danego celu można uzyć gotowego narzędzia, na przykład parsera.
Wadą
wyrażeń regularnych, jest bardzo zwięzła składnia, w której nie
można tworzyć komentarzy.
Popularną
praktyką jest używanie gotowych wyrażeń regularnych, które
pozwalają na dopasowanie określonego wzorca. Spotkałem się z tym
między innymi przy konfiguracji ELK
Stack. Narzędzie Logstash, wchodzące w skład Elastic Search,
pozwala między innymi na wyodrębnianie z logów serwerowych tych
ciągów znaków, które następnie chcemy wyświetlić w Kibanie.
Aby to ułatwić, twórcy dostarczają nam szereg wyrażeń
regularnych, służących między innymi do parsowania dat, adresów
IP czy komunikatów błędów.
W
tym artykule nie będe omawiać składni wyrażeń regularnych,
ponieważ możesz poznać ją z wielu innych stron i książek.
Podczas nauki, pamiętaj że implementacja regexów może różnić
się między poszczególnymi językami.
Jeśli
chcesz nauczyć się wyrażeń regularnych, mogę polecić Ci między
innymi:
-
Stronę https://regex101.com/, na której możesz testować wyrażenia regularne na żywo
-
Rozdział 9 książki Eloquent JS dostępny online tutaj
-
Książkę Learning Regular Expressions napisaną przez Bena Forta.
-
Oraz dokumentację JS dotyczącą regexów na stronie MDN
Wyrażeń
regularnych najlepiej jest się uczyć przez praktykę, na przykład
rozwiązując zadania z Codewars lub pomagając innym programistom,
na StackOverflow.
Brak komentarzy:
Prześlij komentarz