Podpora regexu v webovém editoru je omezena implementací Lucene Regex nástroje.
Pro použití regexu povolte v nastavení filtru. Zelený zaškrtávací znak v poli pro vstup filtru označuje úspěšnou validaci platného regexu.
Dotazy jsou ve výchozím nastavení bez ohledu na velikost písmen. Povolte v nastavení filtru, aby byly citlivé na velikost písmen.
(zajištění shody pouze celých slov a nikoli podřetězců v delších slovech) není k dispozici.
Dotaz ^abc$ bude fungovat podle očekávání, tj. shoduje se s celým segmentem, zatímco se shoduje s podřetězcem abc v jakémkoli textu.
Omezení
Správná náhrada částečně formátovaných dotazů není podporována, např. hledání "Jméno: $1, Příjmení: $2." v textu "\{b\>Jméno<}: Bob, \{biu\>Příjmení\<biu\}: Dylan." bude nahrazeno jako “{>Jméno: Bob, Příjmení: Dylan\<b\}”
Nepodporované vzory
-
Ukazatel na hranici slova
\bpoužitý k shodě přesných slov (funguje v desktopovém editoru). -
\\[1-9]- Zpětné odkazy (\1, \2 atd.), např.(\w+)\s+\1k shodě s duplicitními slovy jako “ahoj ahoj” -
\(\?=|\(\?!|\(\?<=|\(\?<!- Předběžné a zpětné shody, např.kočka(?=\.jpg)k shodě s “kočka” pouze v “kočka.jpg” -
\(\?:- Nezachycující skupiny, např. (?:Pan|Paní|Slečna)\. \w+,ale zachycující skupiny(Pan|Paní|Slečna)\. \w+jsou podporovány a shodují se s jmény jako “Paní. Smith”, “Pan. Brown” -
\(\?#- Inline komentáře, např.\d{4}-(?# rok)\d{2}-(?# měsíc)\d{2}(?# den)k shodě s “2025-06-25” -
\(\?P<[^>]+>- Pojmenované zachycující skupiny, např. (?P<amount>\d+)\s?(?P<currency>USD|EUR)k shodě s “150 USD” a “99 EUR”
Tečka (.) jako zástupný znak pro jakýkoli jednotlivý znak
-
c.at: Shody: "chat", "coat". Neshoduje se: "cat", "cheat" -
wa.ter: Shody: "waiter", "waster". Neshoduje se: "water" -
s.ip: Shody: "skip", "ship", "slip". Neshoduje se: "sip", "strip"
? - Nula nebo jedna occurrence
-
colou?r: Shody: "color", "colour" -
g?rain: Shody: "grain", "rain" -
books?: Shody: "book", "books"
.* - Libovolný počet znaků (včetně žádného)
-
h.*y: Shody: "happy", "history", "honey" -
sa.*d: Shody: "sad", "sand", "satisfied" -
m.*ing: Shody: "morning", "meeting", "marketing"
.+ - Musí se objevit alespoň jeden znak
-
pa.+er: Shody: "paper", "painter" -
a.+ed: Shody: "asked", "accepted", "allowed"
* - Nula nebo více occurrences
-
go*al: Shody: "goal", "goooooooal"
+ - Jedno nebo více výskytů
-
ne+: Shoduje se: “ne”, “neeeee” -
$1+: Shoduje se: “$1”, “$11”, “$111”
Doporučuje se použít co nejkonkrétnější vzor, protože otevřené vzory mohou způsobit problémy s výkonem v editoru.
Důležité
Editor má vestavěný limit na to, jak složitý může být regex vzor. Vzory, které jsou příliš široké nebo silně používají zástupné znaky, mohou selhat jako neplatný regex. Aby se tomu předešlo:
-
Udržujte vzory krátké a konkrétní.
error-[0-9]{3}je v pořádku;.*a.*b.*c.*d.*není. -
Minimalizujte zástupné znaky. Každý
.+nebo.*zvyšuje vnitřní složitost. Preferujte třídy znaků jako[A-Z]+před.*, kde je to možné. -
Vyhněte se dlouhým alternacím s opakováním. Vzor jako
(word1|word2|...|word20){2,}může rychle překročit limit. To se zesiluje, když alternativy zahrnují více slov nebo interpunkci, což zvyšuje složitost regexu. -
Když je to možné, ukotvěte jednu stranu.
^prefix.*je mnohem levnější než.*middle.*.
Pokud je vzor odmítnut, zkuste ho učinit cílenějším: začněte s delším pevným prefixem a zúžte to odtud. Zvažte snížení počtu alternativ nebo jejich zpracování v samostatných vzorech místo kombinování všeho do jednoho složitého regexu.
Příklad:
Filtr pro e-mailové adresy:
-
Tento vzor shoduje mezery a všechna okolní slova s potenciálně příliš mnoha výsledky:
.*@.* -
Abychom omezili výsledky na všechny e-mailové adresy:
[\w.+\-]+@[\w.+\-]+ -
Abychom omezili výsledky pouze na e-maily .com:
[\w.+\-]+@[\w.+\-]\.com -
Abychom omezili výsledky na ty, které mají číslici v e-mailových adresách:
[\w.+\-]*\d+[\w.+\-]*@[\w.\-]+
-
kočka|pes: Shoduje: „kočka“ a „pes“ -
červená|modrá|zelená: Shoduje: „červená“, „modrá“, „zelená“
-
[A-Z]+: Shoduje jedno nebo více velkých písmen v řadě (sekvence). -
[A-Z]{2,}: Shoduje jakoukoli sérii velkých písmen (užitečné pro shodu zkratek nebo řetězců napsaných velkými písmeny) -
[0-9]{4}: Shoduje čtyřmístná čísla, např. "1999", "2003", "1876" (také nalezeno v delším než čtyřmístném řetězci; pro omezení výsledků by měla být použita možnost Shoda slov plánovaná na budoucnost) -
[A-Za-z0-9]+: Shoduje jakýkoli alfanumerický řetězec (ahoj! → ahoj by se shodovalo, ale ! není součástí [A-Za-z0-9]; 100% → pouze 100 by se shodovalo) -
([A-Za-z]+\d+|\d+[A-Za-z]+): Shoduje striktně kombinaci číslic a písmen, např. „uživatel123“, „Admin99“, „Win11“, „5g“, „1080p“ -
[0-9]{2,4}-[A-Z]{2,3}: Shoduje registrační značky, např. „12-XY“, „9999-ABC“
-
\+[0-9]{1,2}: Shoduje „+40“, „+1“ -
\{verze: [0-9]+\}: Shoduje „{verze: 12}“, „{verze: 13}“ -
C:\\[A-Za-z]+: Shoduje „C:\Uživatelé“, „C:\Dokumenty“, „C:\Desktop“
-
Ve výchozím nastavení bude filtrování regex implementováno jako bez ohledu na velikost písmen.
c.at: Shoduje se: "chat", "Chat", "CHAT" a "coat", "Coat", "COAT" -
Filtrování regex může být kombinováno s
Zachycující skupiny regex jsou rozpoznávány a celý dotaz je zvýrazněn, např. s(e)g zvýrazní "seg". Zachycující skupiny mohou být použity pro nahrazení, např. "Jméno: Bob" může být vyhledáno pomocí Jméno: (.*?) a nahrazeno použitím zpětného odkazu na Jméno: $1.” Chybějící zpětné odkazy jsou zpracovávány s ohledem, tj. dotaz Jméno: (.*?) s nahrazením Jméno: $1, Titul: $2 bude nahrazen jako Jméno: Bob, Titul: $2.
Příklady pro zpětné odkazy nahrazení:
-
filtr
(\d+),(\d+)a nahradit$1.$2pro normalizaci desetinných oddělovačů (např. z 5,6 nebo 35,949 na 5.6 nebo 35.949) -
filtr
(\d+)\.(\d+)a nahradit$1,$2pro normalizaci desetinných oddělovačů (např. z 5.6 nebo 35.949 na 5,6 nebo 35,949) -
filtr
(\d{4})-(\d{2})-(\d{2})a nahradit$3/$2/$1pro přeformátování data (např. z 2025-06-05 na 05/06/2025) -
filtr
ID-(\d{3,})a nahraditTicket #$1pro extrakci čísla lístku (např. z na ) -
filtr
(cat|dog)a nahradit$1-$1pro duplikaci shodného textu (např. z cat na cat-cat a z dog na dog-dog) -
Volitelná skupina: filtr
Ahoj(, (\w+))?a nahraditAhoj $1pro transformaci pozdravů nahrazením "Ahoj" před jmény nebo samostatně (např. z na a z na )