Close

Jak využít regulární výrazy

29. 1. 2021

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

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

ZnakPopis znakuVýznam
| svislítko
(napíšeš ho pravý Alt + w)
logické nebo
např. pivo|víno → pivo, víno
.tečkajeden 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čkalibovolný počet předchozího znaku
např. boo*ks → boks, books, boooks, booooks

.*
tečka, hvězdičkalibovolná 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
+pluspředchozí znak se opakuje jednou nebo vícekrát
např. 10+ -> 10, 100, 1000
^ stříškazačíná následujícím znakem
např. ^19 -> 19, 1992, 19abc
$dolarkončí předcházejícícím znakem
např. (shoe)$ → shoe, winter shoe
?otazníkpředchozí znak není povinný
např. regg?ex → regex, reggex
()závorkyjako 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ávorkydefinuje 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ávorkyopaková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čkaod 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
\wjakékoli běžné znaky, tedy psímena abecedy a číslice
\sbílé znaky jako mezera, tabulátor, zalomení řádku
\D, \W, \Spř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.