Czy wiesz, czym są wyrażenia regularne? Niezależnie, czy stykasz się z nimi po raz pierwszy, czy już od jakiegoś czasu myślisz o tym, aby się ich nauczyć — w dzisiejszym wpisie znajdziesz wszystkie podstawowe wiadomości na ich temat. Wyjaśniamy, jak korzystać z “regex’ów” i dlaczego są tak przydatnym narzędziem. Zapraszamy do lektury!
Wyrażenia regularne (regex) – co to?
Wyrażenia regularne — z angielskiego, regular expression, czyli w skrócie regex — to narzędzie do przeszukiwania ciągów znaków. Pozwalają one „wychwycić” w tekście wszystkie sekwencje znaków (frazy) zgodne z określonym wzorcem — który definiujemy właśnie przy pomocy wyrażenia regularnego.
Swoje zastosowanie regex’y znajdują przede wszystkim w świecie programowania (stanowią część standardowych bibliotek większości języków programowania, np. Pythona czy JavaScript), ale także w zaawansowanych edytorach tekstów czy… niektórych narzędziach . O tych ostatnich opowiemy na końcu.
Jak wygląda składnia wyrażeń regularnych?
Początkującym największych trudności przysparza sama składnia wyrażeń regularnych. W praktyce — nie jest jednak wcale taka straszna.
Wyrażenia regularne składają się z dwóch klas znaków:
- zwyczajnych — czyli tych, które oznaczają „same siebie” i należy interpretować dosłownie — głównie są to litery oraz cyfry;
- specjalnych — tak zwanych metaznaków, które mają konkretne, przypisane szczególne znaczenie.
Nauczyć trzeba się tylko tej drugiej grupy znaków. Najważniejsze metaznaki zebraliśmy poniżej.
- . (kropka) — znak kropki oznacza dowolną literę
- ^ — określa, że łańcuch musi zaczynać się od danego zakresu znaków;
- $ — określa, że łańcuch musi kończyć się danym ciągiem znaków;
- | — pełni rolę operatora lub;
- — „neutralizuje” znaczenie znaku specjalnego;
- * – poprzedzający go znak musi pojawić się 0 lub więcej razy (we frazie, ciągiem);
- + – poprzedzający go znak musi pojawić się 1 lub więcej razy (we frazie, ciągiem);
- ? – poprzedzający znak zapytania symbol jest opcjonalny;
- {} – określa, ile razy pojawić musi się dany znak (we frazie, ciągiem);
- [] — pozwala wyszukać wszystkie znajdujące się w nawiasie kwadratowym znaki (w dowolnej kolejności);
- [^] — pozwala wyszukać wszystkie dowolne znaki oprócz tych, które umieszczone są w nawiasie kwadratowym;
- () — wyszukuje umieszczone w nawiasie znaki dokładnie w takiej kolejności, w jakiej je wpisaliśmy. Często wykorzystuje się go razem ze znakiem „|”, aby wskazać, w jakim konkretnie miejscu naszego wyrażenia chcemy użyć operatora lub;
- [0-9] lub [A-Z] — pozwala wyszukać litery/cyfry z określonego zakresu;
- b b — znak alfanumeryczny szuka tylko całych słów;
- B B — szuka tylko tych ciągów znaków, które znajdują się w środku innego słowa.
Czym jest audyt linków i dlaczego jest ważny dla SEO?
To oczywiście nie wszystkie znaki oraz konstrukcje, które można wykorzystać przy tworzeniu wyrażeń regularnych. Nieco dłuższą listę znajdziesz np. na https://help.libreoffice.org/6.1/pl/text/shared/01/02100001.html
Z naszej strony — polecamy zajrzeć także na stronę https://regexr.com/, przy pomocy której przygotowaliśmy wszystkie powyższe przykłady. Możesz na niej poćwiczyć tworzenie własnych regex’ów, a przede wszystkim — łączenie ich w dłuższe ciągi.
Jak wykorzystuje się wyrażenia regularne w SEO?
Okazuje się, że wyrażenia regularne — choć z pozoru wyglądają raczej jak funkcje języka programowania! — mają swoje zastosowanie także w narzędziach pozycjonerskich
Pierwszy przykład z brzegu — w zasadzie wszystkie narzędzia pozwalające przeprowadzić audyt strony pod kątem SEO (np. Semrush czy Ahrefs) pozwalają, właśnie przy pomocy regex’ów, filtrować podstrony, które rzeczywiście chcemy poddać analizie. Wystarczy jedno proste wyrażenie, by zamiast tysiąca adresów narzędzie przeanalizowało i wyświetliło wyniki audytu tylko dla wybranych podstron.
Jeszcze bardziej wyrażenia regularne mogą się przydać podczas analizy danych w Google Analytics. Najczęściej do filtrowania słów kluczowych czy adresów w interfejsie raportowania, ale też w widoku danych, do wyłączenia określonych sekcji witryny z analiz. Jeszcze ciekawsze zastosowanie czeka w opcjach konfiguracji celów. Jeśli za cel przyjmiemy przejście użytkownika pod inny adres URL — dobrze skonstruowane wyrażenie regularne pozwoli podpiąć pod ten cel cały zbiór adresów — na przykład wszystkie karty produktowe należące do danej kategorii.
FAQ – najczęstsze pytania o wyrażenia regularne (Regex)
1. Czym są wyrażenia regularne (Regex)?
Wyrażenia regularne (ang. regular expressions, skrót: regex lub regexp) to wzorce zbudowane z liter, cyfr i znaków specjalnych, które służą do wyszukiwania, dopasowywania lub zastępowania fragmentów tekstu. Pozwalają precyzyjnie określić, jakie ciągi znaków mają być odnalezione lub przetworzone w danym tekście.
2. Jak wyrażenia regularne są wykorzystywane w SEO?
W SEO regexy umożliwiają m.in. zaawansowane filtrowanie danych w Google Search Console, analizę słów kluczowych, sprawdzanie adresów URL, czy tworzenie przekierowań w pliku .htaccess. Dzięki nim można szybko przeszukiwać i grupować duże zbiory danych według określonych wzorców, co ułatwia optymalizację i analizę strony.
3. Czym są Perl Compatible Regular Expressions (PCRE)?
PCRE to jedna z najpopularniejszych implementacji wyrażeń regularnych, zgodna ze składnią używaną w języku Perl. Jest szeroko stosowana w wielu językach programowania oraz narzędziach SEO, zapewniając dużą elastyczność i bogaty zestaw funkcji.
4. Jak działa wielkość liter (case sensitivity) w regexach?
Domyślnie większość wyrażeń regularnych rozróżnia wielkość liter, czyli „abc” nie dopasuje się do „ABC”. Można to zmienić, dodając odpowiednie flagi (np. i w niektórych implementacjach), aby dopasowanie było niezależne od wielkości liter.
5. Jak określić wielkość znaków w wyrażeniu regularnym?
Możesz precyzyjnie wskazać, czy interesują Cię małe ([a-z]), wielkie ([A-Z]), czy dowolne litery. Możliwe jest także określenie zakresu długości dopasowania, np. {2,4} oznacza od 2 do 4 znaków.
6. Czym jest kolorowanie składni (syntax highlighting) i jak pomaga przy regexach?
Kolorowanie składni to funkcja edytorów i narzędzi online (np. regex101.com), która wyróżnia różne elementy wyrażenia regularnego kolorami. Ułatwia to analizę, naukę oraz debugowanie regexów, zwłaszcza początkującym użytkownikom.