Wyrażenie regularne
Wyrażenie regularne (lub „regex”) to wzorzec wyszukiwania używany do dopasowywania co najmniej jednego znaku w obrębie ciągu znaków. Może dopasowywać określone znaki, symbole wieloznaczne i zakresy znaków. Wyrażenia regularne były pierwotnie używane przez narzędzia systemu Unix, takie jak vi i grep. Obecnie są jednak obsługiwane przez wiele aplikacji do edycji kodu i edytorów tekstu na wielu platformach. Wyrażeń regularnych można również używać w większości najważniejszych języków programowania.
Wyrażenie regularne może być tak proste jak podstawowy ciąg znaków, na przykład „app”. Regex „app” dopasuje ciągi zawierające słowa „apps”, „applications” i „inapplicable”. Wyrażenie regularne może również zawierać znaki kotwiczące („^” i „$”), które służą odpowiednio do określania początku i końca wiersza. Dlatego regex „^apps” dopasuje ciąg „apps are great,”, ale nie dopasuje ciągu „I like apps.”
Wyrażenia regularne mogą zawierać myślniki, które służą do dopasowywania zakresu znaków, na przykład wszystkich małych liter. Regex „[a-z]” dopasuje na przykład „apps”, ale nie dopasuje ciągów „Apps” ani „123”. Regex „[A-Za-z]” dopasuje „Apps”, a [0-9] dopasuje „123”. Kropka, będąca standardowym znakiem wieloznacznym w wyrażeniach regularnych, może służyć do dopasowania dowolnego znaku (z wyjątkiem znaku końca wiersza). Kropka po której następuje gwiazdka (.*), dopasowuje zero lub więcej wystąpień, natomiast kropka po której następuje znak plus (.+), dopasowuje jedno lub więcej wystąpień.
Co się jednak dzieje, gdy trzeba dopasować ciąg zawierający myślnik, gwiazdkę, znak plus lub znak kotwiczący? Znaki te można umieścić we wzorcu wyrażenia regularnego, „poprzedzając” je ukośnikiem odwrotnym („\”). Na przykład aby wyszukać „$0.99”, regex wyglądałby tak: „\$0\.99”. Ukośniki odwrotne służą również do wyszukiwania znaków niedrukowalnych. Na przykład „\r” dopasowuje znak powrotu karetki, „\n” dopasowuje znak nowego wiersza, a „\t” dopasowuje znak tabulacji.
Utworzenie podstawowego wyrażenia regularnego nie wymaga dużego wysiłku, ale napisanie zaawansowanego regexu nie jest łatwym zadaniem. Nawet najlepsi programiści rzadko tworzą złożone wyrażenia regularne poprawnie za pierwszym razem. Prawidłowo używane wyrażenia regularne są jednak potężnym narzędziem do wyszukiwania, znajdowania i zastępowania określonego tekstu.
Sprawdź swoją wiedzę