Podpora regexu ve webovém editoru je omezena implementací nástroje Lucene Regex.
Chcete-li použít regex, povolte v nastavení filtru. Zelená značka zaškrtnutí ve vstupním poli filtru indikuje úspěšné ověření platného regexu.
Dotazy jsou ve výchozím nastavení nerozlišující velká a malá písmena. Povolte v nastavení filtru, aby byly rozlišovány.
(zajišťující shodu 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. shoda celého segmentu, zatímco bude odpovídat podřetězci abc v jakémkoli textu.
Omezení
Správné nahrazení částečně formátovaných dotazů není podporováno, např. hledání "Jméno: $1, Příjmení: $2." v textu "\{b\>First name<}: Bob, \{biu\>Last name\<biu\}: Dylan." bude nahrazeno jako „{>Jméno: Bob, Příjmení: Dylan\<b\}”
Nepodporované vzory
-
Kotva hranice slova
\\bpoužitá pro shodu přesných slov (funguje v desktopovém editoru). -
\\\\[1-9]– Zpětné odkazy (\1, \2 atd.), např.(\\w+)\\s+\\1pro shodu duplicitních slov jako „hello hello“ -
\\(\\?=|\\(\\?!|\\(\\?<=|\\(\\?<!– Lookahead a lookbehind, např.cat(?=\\.jpg)pro shodu „cat“ pouze v „cat.jpg“ -
\\(\\?:– Neskupinové závorky, např. (?:Mr|Mrs|Ms)\\. \\w+,, ale zachytávací skupiny(Mr|Mrs|Ms)\\. \\w+jsou podporovány a shodují se se jmény jako „Mrs. Smith“, „Mr. Brown“ -
\\(\\?#– Vložené komentáře, např.\\d\{4\}-(?# year)\\d\{2\}-(?# month)\\d\{2\}(?# day)pro shodu „2025-06-25“ -
\\(\\?P<[^>]+>– Pojmenované zachytávací skupiny, např. (?P<amount>\\d+)\\s?(?P<currency>USD|EUR)pro shodu „150 USD“ a „99 EUR“
Tečka (.) jako zástupný znak pro jakýkoli jeden znak
-
c.at: Shoda: „chat“, „coat“. Neshoduje se: „cat“, „cheat“ -
wa.ter: Shoda: „waiter“, „waster“. Neshoduje se: „water“ -
s.ip: Shoda: „skip“, „ship“, „slip“. Neshoduje se: „sip“, „strip“
? – Nula nebo jeden výskyt
-
colou?r: Shoda: „color“, „colour“ -
g?rain: Shoda: „grain“, „rain“ -
books?: Shoda: „book“, „books“
.* – Libovolný počet znaků (včetně žádného)
-
h.*y: Shoda: „happy“, „history“, „honey“ -
sa.*d: Shoda: „sad“, „sand“, „satisfied“ -
m.*ing: Shoda: „morning“, „meeting“, „marketing“
.+ – Musí se vyskytovat alespoň jeden znak
-
pa.+er: Shoda: „paper“, „painter“ -
a.+ed“ Shoda: „asked“, „accepted“, „allowed“
* – Nula nebo více výskytů
-
go*al: Shoda: „goal“, „goooooooal“
+ – Jeden nebo více výskytů
-
no+: Shoda: „no“, „noooooo“ -
$1+: Shoda: „$1“, „$11“, „$111“
Doporučuje se použít co nejkonkrétnější vzor, protože otevřené vzory mohou v editoru způsobit problémy s výkonem.
Důležité
Editor má vestavěný limit na to, jak složitý může být vzor regulárního výrazu. Vzory, které jsou příliš široké nebo nadměrně používají zástupné znaky, mohou selhat jako neplatný regulární výraz. Abyste tomu předešli:
-
Udržujte vzory krátké a konkrétní.
error-[0-9]\{3\}je v pořádku;.*a.*b.*c.*d.*nikoliv. -
Minimalizujte zástupné znaky. Každý
.+nebo.*násobí vnitřní složitost. Kde je to možné, dávejte přednost třídám znaků, jako je[A-Z]+, před.*. -
Vyhněte se dlouhým alternacím s opakováním. Vzor jako
(word1|word2|...|word20){2,}může limit rychle překročit. To se zesiluje, pokud alternativy zahrnují více slov nebo interpunkci, což zvyšuje složitost regulárního výrazu. -
Pokud je to možné, ukotvěte jednu stranu.
^prefix.*je mnohem méně náročné než.*middle.*.
Pokud je vzor zamítnut, zkuste jej více zacílit: začněte delší pevnou předponou a odtud jej zužujte. Zvažte snížení počtu alternativ nebo jejich zpracování v samostatných vzorech namísto kombinování všeho do jednoho složitého regulárního výrazu.
Příklad:
Filtrování e-mailových adres:
-
Tento vzor bude hledat shodu mezer a všech okolních slov s potenciálně příliš mnoha výsledky:
.*@.* -
Omezení výsledků na všechny e-mailové adresy:
[\\w.+\\-]+@[\\w.+\\-]+ -
Pro omezení výsledků pouze na e-maily .com:
[\\w.+\\-]+@[\\w.+\\-]\\.com -
Pro omezení výsledků na ty, které mají v e-mailových adresách číslici:
[\\w.+\\-]*\\d+[\\w.+\\-]*@[\\w.\\-]+
-
cat|dog: Shoda s: „cat“ a „dog“ -
red|blue|green: Shoda s: „red“, „blue“, „green“
-
[A-Z]+: Shoda s jedním nebo více velkými písmeny v řadě (sekvence). -
[A-Z]{2,}: Shoda s jakoukoli řadou velkých písmen (užitečné např. pro shodu akronymů nebo Strings psaných velkými písmeny) -
[0-9]\{4\}: Shoda se čtyřmístnými čísly, např. „1999“, „2003“, „1876“ (nalezeno také uvnitř delšího než čtyřmístného řetězce; pro omezení výsledků by měla být použita možnost shoda slov plánovaná do budoucna) -
[A-Za-z0-9]+: Shoda s jakýmkoli alfanumerickým řetězcem (hello! → hello by odpovídalo, ale ! není součástí [A-Za-z0-9]; 100% → odpovídalo by pouze 100) -
([A-Za-z]+\\d+|\\d+[A-Za-z]+): Přesná shoda s kombinací číslic a písmen, např. „user123“, „Admin99“, „Win11“, „5g“, „1080p“ -
[0-9]{2,4}-[A-Z]{2,3}: Shoda se státními poznávacími značkami, např. „12-XY“, „9999-ABC“
-
\\+[0-9]{1,2}: Shoda s „+40“, „+1“ -
\\{version: [0-9]+\\}: Shoda s „{version: 12}“, „{version: 13}“ -
C:\\\\[A-Za-z]+: Shoda s „C:\\Users“, C:\\Documents, „C:\\Desktop“
-
Ve výchozím nastavení bude filtrování pomocí regulárních výrazů implementováno jako nerozlišující velká a malá písmena.
c.at: Shoda s: „chat“, „Chat“, „CHAT“ a „coat“, „Coat“, „COAT“ -
Regex filtrování lze kombinovat s v UI filtru
Zachyťovací skupiny regulárních výrazů jsou rozpoznány a celý dotaz je zvýrazněn, např. s(e)g zvýrazní „seg“ . Zachyťovací skupiny lze použít pro Nahradit, např. „Name: Bob“ lze vyhledat pomocí Name: (.*?) a Nahradit pomocí zpětného odkazu na Jméno: $1“. Chybějící zpětné odkazy jsou zpracovány elegantně, tj. dotaz Name: (.*?) s Nahradit Jméno: $1, Title: $2 bude nahrazen jako Jméno: Bob, Title: $2.
Příklady pro Nahradit zpětný odkaz:
-
filtrovat
(\\d+),(\\d+)a Nahradit$1.$2pro normalizaci desetinných oddělovačů (např. z 5,6 nebo 35,949 na 5.6 nebo 35.949) -
filtrovat
(\\d+)\\.(\\d+)a Nahradit$1,$2pro normalizaci desetinných oddělovačů (např. z 5.6 nebo 35.949 na 5,6 nebo 35,949) -
filtrovat
(\\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) -
filtrovat
ID-(\\d{3,})a NahraditTicket #$1pro extrakci čísla tiketu (např. z na ) -
filtrovat
(cat|dog)a Nahradit$1-$1pro Kopírovat nalezený text (např. z cat na cat-cat a z dog na dog-dog) -
Volitelná skupina: filtrovat
Hello(, (\\w+))?a NahraditHi $1pro transformaci pozdravů nahrazením „Hello“ před jmény nebo samostatně (např. z na a z na )