Jesteś tutaj: GłównaWyrażenia regularne → Wprowadzenie

Wprowadzenie do wyrażeń regularnych

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.

Programy i języki programowania ze wsparciem wyrażeń regularnych

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).