Chat with us, powered by LiveChat

#growUp!

Zaznacz stronę

Strona głównaBlogAnalityka WebowaWyrażenia regularne w Google Analytics

Jeśli na co dzień korzystasz z Google Analytics, to na pewno zauważyłeś, że w wielu miejscach (m.in. w ustawieniach celów, w filtrach) jest możliwość wykorzystania tzw. wyrażeń regularnych (regular expressions, w skrócie regex lub regexp). Ale czym one tak naprawdę są? Najprościej rzecz ujmując, dzięki wyrażeniom regularnym możemy jednym, specjalnym ciągiem znaków dopasować wiele danych, których poszukujemy lub chcemy przefiltrować.

Przykład zastosowania wyrażeń regularnych:
wyrazenia_regularne_przyklad_1

 

Wyrażenia regularne – specyfikacja

Jednak zanim zaczniemy korzystać z możliwości, jakie dają nam wyrażenia regularne, najpierw poznajmy ich specyfikację. Samo opisywanie znaków specjalnych oraz ich działania może niewiele wyjaśnić, dlatego posłużę się narzędziem (https://regexr.com), które pozwala zweryfikować użyte przez nas wyrażenia i pokazać na jakie frazy będą działać, a na jakie nie.

No to zaczynamy:

Kropka

. – znak ten zastępuje dowolny inny znak (małą lub dużą literę, cyfrę, znak specjalny):

wyrażenia regularne 2

 

Kropki możemy używać w dowolnym miejscu wyrazu oraz stosować ją wielokrotnie:

wyrażenia regularne 3

 

Gwiazdka

* – ten symbol wskazuje dopasowanie do poprzedzającego znaku, gdy występuje raz, wiele razy lub w ogóle:

wyrażenia regularne 4

 

Gdy już poznaliśmy, jak działają samodzielnie kropka i gwiazdka, warto poznać kombinację .* (kropka-gwiazdka), którą wykorzystuje się bardzo często. Skoro kropka zastępuję dowolny znak, a gwiazdka powiela poprzedni znak, to ich połączenie oznacza po prostu dowolny ciąg znaków. Jest to pomocne, gdy chcemy wyszukać jakąś konkretną kategorię lub stronę z podsumowaniem transakcji, a na końcu generuje się losowy ciąg znaków:

wyrażenia regularne 5

 

Tak jak samej kropki czy gwiazdki – kombinacji tej możemy używać w dowolnym miejscu w ciągu znaków:

wyrażenia regularne 6

 

Znak plusa

+ – ten znak ma takie samo działanie jak gwiazdka, jednak poprzedzający znak musi wystąpić choć raz lub wiele razy:

wyrażenia regularne 7

Znak zapytania

? – ten symbol również odnosi się do poprzedniego znaku, dopasowuje wyrażenie, gdy wystąpi tylko raz lub w ogóle:

wyrażenia regularne 8

 

Daszek (Kareta)

^ – za pomocą tego znaku wskazujemy, od jakiego ciągu ma zacząć się nasze wyrażenie:

wyrażenia regularne 9

 

Należy zwrócić uwagę, że szukana przez nas fraza musi znajdować się na początku całego zdania, jeśli występuje gdzieś w środku – to nie zostanie odnaleziona.

Znak ten ma jeszcze jedną funkcję, gdy użyje się go w nawiasach kwadratowych, to neguje to, co po nim jest w nawiasie.

wyrażenia regularne 10

Znak dolara

$ – działa podobnie jak Daszek, ale za jego pomocą określamy, jak ma się zakończyć poszukiwany przez nas warunek:

wyrażenia regularne 11

Kreska pionowa

| – działa jak operator logiczny „lub”, z jego pomocą możemy wyszukać kilku rzeczy na raz:

wyrażenia regularne 12

Nawias okrągły

( ) – działa właściwie tak jak w matematyce, służy do grupowania fragmentów wyrażeń, najczęściej wykorzystywane z | aby wskazać, że właśnie w tym miejscu wyrażenia chcemy użyć operatora „lub”.

W przykładzie szukamy kaw 3 producentów w konkretnej kategorii „kawy” w konkretnej domenie:

wyrażenia regularne 13

 

Gdyby zabrakło nawiasów okrągłych, wynik byłby zupełnie inny:

wyrażenia regularne 14

 

System zinterpretowałby nasze zapytanie tak, że szukamy producenta Lavazza w konkretnej kategorii i domenie oraz dwóch innych producentów – już bez konkretnych domen czy kategorii.

Nawiasy kwadratowe

[ ] – za pomocą nawiasów kwadratowych możemy dodać do poszukiwanego przez nas zapytania jeden znak z tych podanych w środku:

wyrażenia regularne 15

 

Można podawać jak w powyższym przykładzie konkretne wartości lub wykorzystać zakres cyfr na przykład [0-9] lub liter [a-z] [A-Z]. Oczywiście może to być mniejszy zakres, jakiego aktualnie potrzebujemy, np. [4-6] czy [g-w]:

wyrażenia regularne 16

wyrażenia regularne 17

 

Nawiasy kwadratowe zwracają tylko jeden znak. Jeśli potrzebujemy ich więcej, możemy użyć powtórnie []. Jest do dobre rozwiązanie, gdy potrzebujemy, aby każdy kolejny znak był z innego zakresu niż poprzedni.

wyrażenia regularne 18

 

Jednak jeśli chcemy wielokrotnie użyć tego samego zakresu, to z pomocą przyjdzie nam kolejny znak specjalny.

 

Nawias klamrowy

{} – za pomocą tego znaku możemy określić, ile razy ma wystąpić poprzedzający element. Możemy podać konkretną liczbę lub wartość minimalną i maksymalną oddzieloną przecinkiem.

W poniższym przykładzie oprócz słowa „Kawa” szukamy dwóch cyfr z zakresu od 0 do 9:

wyrażenia regularne 19

 

Tutaj natomiast szukamy słowa „Kawa” oraz 2 lub 3 cyfr z zakresu od 0 do 9:

wyrażenia regularne 20

Ukośnik lewy (Backslash)

\ – na sam koniec znak, który jest zupełnie inny od pozostałych i nie działa tak jak wszystkie wymienione wcześniej. Z jego pomocą wskazujemy, że znak specjalny występujący po tym ukośniku tak naprawdę nie jest wyrażeniem regularnym, tylko ma być odczytywany dosłownie. To znaczy, że zapis \. sygnalizuje, że ta kropka jest normalną kropką, a nie wyrażeniem regularnym, które pozwala podstawić w to miejsce dowolny znak. Najczęściej backslash wykorzystuje się przy podawaniu adresów IP czy adresów URL:

wyrażenia regularne 21

 

Dzięki użyciu backslasha możliwe jest wyszukiwanie np. gwiazdki w tekście, bez obawy, że zostanie potraktowana jako wyrażenie regularne. Można by się tutaj pokusić o użycie ukośnika jeszcze przed kropką w domenie, ale szansa, że będzie tam coś innego niż tylko kropka, jest mała. Inaczej sprawa wygląda w przypadku adresów IP. Jeśli tam nie użyjemy backslasha, to zamiast IP możemy znaleźć przypadkowy ciąg znaków:

wyrażenia regularne 22

 

Dla porównania, gdy użyjemy backslasha:

wyrażenia regularne 23

 

Jak widać różnica dopasowania jest diametralna.

Myślę że te informację pozwolą na to aby zacząć korzystać z wyrażeń regularnych i uczyć się ich stosować w praktyce. Dzięki nim jesteśmy w stanie wyodrębnić wiele bardziej szczegółowych danych, których normalnie nie dałoby się otrzymać korzystając normalnie z wyszukiwarki.

Wyrażenia regularne – przykłady zastosowania

Użytkownicy wyszukiwarki bardzo często lubią przekręcać znane frazy, co zobrazujemy na przykładzie marki Kärcher. O ile zapis bez umlautu (Karcher) to coś normalnego, to dzięki wyrażeniom regularnym możemy zobaczyć inne ciekawe sposoby zapisu. Skorzystamy z wyrażenia ^k.r..er$ , czyli interesuje nas jedno słowo i kilka powtarzalnych liter, reszta dowolna. Zobaczmy wyniki:

wyrażenia regularne 24

wyrażenia regularne 25

 

Jeśli interesują nas odwiedzone strony konkretnej grupy kategorii (w tym przykładzie „domowe” urządzenia), ale url’e, oprócz nazwy kategorii, zawierają także ciąg cyfr, to możemy użyć wyrażenia \/[0-9]{1,5}-domowe$. Znak dolara na końcu ma za zadanie pokazać, że nie interesują nas już produkty w danej kategorii, tylko same kategorie. Dzięki temu otrzymamy następujące wyniki:

wyrażenia regularne 26

 

Kolejny przykład:

Jeśli chcemy zestawić ze sobą jakieś konkretne źródła w raporcie pozyskiwania w Google Analytics, możemy użyć operatora „lub” czyli pionowej kreski |. Dzięki temu przefiltrujemy sobie wyniki i otrzymamy to, co nas interesuje, w tym przypadku: ceneo|newsletter|youtube:

wyrażenia regularne 27

 

Możliwości jest bardzo wiele i tylko od nas zależy, do czego wykorzystamy wyrażenia regularne. My jak zwykle zachęcamy do eksperymentowania 🙂

Tomasz Kosmala