Jesteś tutaj: Główna → Wyrażenia regularne → Wprowadzenie
Za pomocą wyrażeń regularnych (ang. regular expression albo w skrócie regexp) można opisywać pewne skomplikowane wzorce wyszukiwania na przykład w treści dokumentów.
Przykładowo, za pomocą wzorca
[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4} można
sprawdzić poprawność wpisanego w formularz adresu e-mail. Część
pierwsza, [a-zA-Z0-9._-]+ „wyłapie” pierwszy człon
adres, [a-zA-Z0-9-]+ - nazwę domeny, a
\.[a-zA-Z]{2,4} domenę najwyższego rzędu, czyli
przykładowo .pl, .com lub
.info. Już ten przykład pokazuje - mam nadzieję - jak
bardzo wyrafinowanym narzędziem są wyrażenia regularne. I uwierz
mi, że ich znajomość - wcześniej czy później - zaoszczędzi Ci,
drogi czytelniku, wielu godzin żmudnej pracy. Nie ma nic bardziej
deprymującego od konieczności dokonania jednakowych, powtarzalnych
czynności na dużym pliku tekstowym. Wyrażenia regularne umożliwiają
czynności tych zautomatyzowanie.
Wszystkie porządne języki programowania mają zaimplementowany mechanizm wsparcia dla wyrażeń regularnych. Dotyczy to Perla, PHP, Javascriptu, Javy, Ruby'ego, Pythona i zapewne wielu innych języków, których nie sposób wszystkich tutaj wymienić.
Podobnie, wiele narzędzi - ze szczególnym wskazaniem na narzędzia systemów typu POSIX - wspiera lub nawet jest przeznaczonych wyłącznie do operacji na wyrażeniach regularnych. Mowa tu przede wszystkim o narzędziu grep, edytorze wsadowym sed oraz edytorach wywodzących się z systemu Unix vim i emacs. Wyrażenia regularne są intensywnie wykorzystywane w module mod_rewrite w Apache'u.
Również i dla systemu Windows stworzono kilka dedykowanych narzędzi, za pomocą których można przetwarzać tekst przy uzyciu wyrażeń regularnych. W szczególności należy tu wymienić edytory tekstu, takie jak EditPad Pro, Textpad oraz Crimson Editor. Ten ostatni służyć będzie do obrazowania niektórych opisywanych na stronie przykładów (swoją drogą: polecam ten edytor gorąco, jest szybki, udostępnie wiele przydatnych rzeczy, jak na przykład łączenie plików w projekty i do tego wszystkiego jest darmowy).