Jak využít regulární výrazy
Regulární výrazy neboli reguláry či RegEx jsou mocným nástrojem nejen ve webové analytice, ale obecně v IT.
Umožňují totiž zapisovat složité podmínky s pomocí jednoduché syntaxe. Resp. zase tak jednoduché to není, ale když reguláry ovládneš, neuvěřitelně ti to zjednoduší práci.
K čemu regexy slouží
Regulární výrazy použiješ pro vyhodnocování podmínek. Konkrétně v Google Analytics se s nimi setkáš u
- nastavení cílů,
- definice kroků k cíli,
- filtrů nad tabulkou,
- filtrů pro čištění dat,
- vytvoření pokročilých segmentů.
Dále přijdou vhod v Google Tag Manageru při zapisování pravidel spouštění.
Ve všech zmíněných případech se obejdeš i bez nich, ale s nimi nebudeš muset v Google Analytics zakládat čtyři cíle a bude stačit jeden či v GTM nadefinuješ jen jeden pravidlo spouštění místo tří.
Syntaxe
Znak | Popis znaku | Význam |
| | svislítko (napíšeš ho pravý Alt + w) | logické nebo např. pivo|víno → pivo, víno |
. | tečka | jeden zástupný znak a to jakýkoli včetně mezer, může to být 3 nebo třeba β např. j.n -> jan, jen, j1n |
* | hvězdička | libovolný počet předchozího znaku např. boo*ks → boks, books, boooks, booooks |
.* | tečka, hvězdička | libovolná skupina znaků např. /products/.*/cycles/ → /products/women/cycles/ i /products/kids/cycles/ |
\ | zpětné lomítko (napíšeš ho pravý Alt + q) | escapuje následující znak, např. \. nebude považováno za náhodný znak, ale za tečku |
+ | plus | předchozí znak se opakuje jednou nebo vícekrát např. 10+ -> 10, 100, 1000 |
^ | stříška | začíná následujícím znakem např. ^19 -> 19, 1992, 19abc |
$ | dolar | končí předcházejícícím znakem např. (shoe)$ → shoe, winter shoe |
? | otazník | předchozí znak není povinný např. regg?ex → regex, reggex |
() | závorky | jako v matematice, dávají přednost výrazu v závorce např. ^/products/(men|women|kids)/cycles/$ tak znamená 1) začíná na /products, končí na cycles/ a mezi tím je men, women nebo kids |
[] | hranaté závorky | definuje seznam např. t[aeo]p -> tap, tep, top např. [a-zA-Z0-9] -> malé, velké písmeno a číslice, funguje jen pro anglické znaky |
{} | složené závorky | opakování {x} -> opakuj předchozí výraz x-krát {x,y} -> opakuj předchozí výraz alespoň x-krát a nejvýše y-krát {x,} -> opakuj předchozí výraz alespoň x-krát např. 2[0–9]{3} -> 2000 až 2999 |
– | pomlčka | od do např. [a-z] -> jedno malé písmeno anglické abecedy např. [a-zA-Z0-9] ->jedno malé nebo písmeno anglické abecedy či číslice |
\d | číslice 0-9 | |
\w | jakékoli běžné znaky, tedy psímena abecedy a číslice | |
\s | bílé znaky jako mezera, tabulátor, zalomení řádku | |
\D, \W, \S | při zápisu velkým písmenem jde o negativní podmínku; takže \D zastupuje cokoli krom číslic 0-9 |
Vyhodnocení RegExu je poměrně výpočetně náročné, tak je užívej s mírou.
Další příkady regulárních výrazů najdeš třeba na regularnivyrazy.info či si o nich přečti celý e-book od Luna Metrics. Pro rychlé připomenutí se hodí cheat sheet.
Užitečná je také nápověda Google Analytics o regulárních výrazech.
Zda tvůj regulární výraz funguje tak, jak má, si vyzkoušej na regextester.com.