Co to są wyrażenia regularne (regular expressions)?
REKLAMA:
Jeśli chcesz się nauczyć tworzyć strony internetowe, a nie masz o tym
pojęcia wejdź na bezpłatny blog
www.VideoWebmaster.pl
Jeśli już potrafisz tworzyć strony internetowe, wejdź na blog z poradami dla
średnio-zaawansowanych webmasterów
www.PomocnikWebmastera.pl
|
Czy chcesz usprawnić swoją pracę z danymi (np. redagując teksty)? Wyrażenia
regularne pozwalają na bardzo wydajną obróbkę danych tekstowych (szczególnie to się
może przydać programistom). Sam znam elementarne podstawy dotyczące wyrażeń
regularnych i naprawde kilka razy mi ułatwiły pracę. Zamiast monotonnie zamieniać
jakieś fragmenty tekstu skorzystałem z wyrażeń regularnych. Mój ulubiony edytor
tekstów obsługujący wyrażenia regularne to EditPadPro (program jest w wersji dla windowsa i linuxa). Linuxowcy
posiadają pare popularnych (zazwyczaj domyślnie instalowanych) edytorów tekstowych
obsługujących wyrażenia regularne np. vi (vim), kwrite.
Porada1: Często miałem potrzebę w tekście pozamieniać wszystkie
entery na inne znaki (np. gwiazdki). Ręcznie to by nie było wygodne a nie każdy edytor
tekstu pozwala na wklejenie entera w pole znajdź. Ale w programie obsługującym
wyrażenia regularne jest na to sposób. Wystarczy wpisać \n i już edytor tekstu wie,
że chodzi nam o enter (ale uwaga trzeba edytor tekstu powiadomić, że wpisujemy
wyrażenie regularne np. w EditPadPro należy zaznaczyć pole regular extenssion)
Porada2: Załóżmy, że w tekście występuje słowo kot i kat.
Chcesz te oba słowa zaminić na np. słowo xxx. Mógłbyś normalnie najpierw kazać
edytorowi zamienić słowo kot na xxx a potem kat na xxx, ale można to zrobić za jednym
zamachem! Wystarczy wpisać: k[oa]t (dla edytora to oznacza: szukaj
takiego ciągu znaków, gdzie pierwsza litera to k, trzecia to t a druga albo o albo a. To
tylko prosty przykład mówiący jak wiele pracy może nam zaoszczędzić znajomość
wyrażeń regularnych!
Porada3: Załóżmy, że w tekście są różne oznaczenia np.
formatów papieru. Załóżmy, że jest A4 A5 i A6. Załóżmy, że chcemy te wszystkie
oznaczenia usunąć albo zastąpić jakimś ciągiem znaków. Jako wyrażenie regularne
możemy wpisać: A[0-9] co dla edytora tekstu oznacza: szukaj ciągu
znaków gdzie pierwszy znak to A a drugi to pojedyńcza cyfra z zakresu 0-9. Jeśli jednak
edytor natrafi na A35 to usunie on jedynie A3, cyfre 5 zostawi w spokoju, jeśli edytor
tekstu ma szukać ciągu znaków który zaczyna się od litery A a reszta ciągu to cyfry
(jedna albo kilka) to należy zmienić wyrażenie regularne, należy wtedy wpisać A[0-9]+
i wtedy edytor tekstu zamieni zarówno A4 jak i np. A605.
Jak widać wyrażenia regularne ułatwiają pracę. Mało tego są one standardem i
wiele programów je obsługuje (np. edytory tekstów, narzędzia do przetwarzania danych,
języki programowania). Warto jest się zapoznać z wyrażeniami regularnymi bo one
ułatwiają nam pracę!
Jeśli znasz angielski to zerknij na stronę http://www.regular-expressions.info/
tam jest samouczek do wyrażeń regularnych.
wstecz
|