Podpora regexu ve webovém editoru je omezena implementací nástroje Lucene Regex.
Chcete-li použít regex, povolte v nastavení filtru. Zelené 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šující.
(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 mít shodu s podřetězcem 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
-
Zarážka hranice slova
\\bpoužitá ke shodě 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 skupinové závorky(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é skupiny zachycení, 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 objevit alespoň jeden znak
-
pa.+er: Shoda: „paper“, „painter“ -
a.+edShoda: „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 editor způsobit problémy s výkonem.
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 nadměrně používají zástupné znaky, mohou selhat jako neplatný regex. 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. Pokud 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í. 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 regexu. -
Pokud je to možné, ukotvěte jednu stranu.
^prefix.*je mnohem levnější než.*middle.*.
Pokud je vzor zamítnut, zkuste jej více zacílit: začněte delším pevným prefixem 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 komplexního regexu.
Příklad:
Filtrování e-mail adres:
-
Tento vzor bude shoda mezery a všechna okolní slova s potenciálně příliš mnoha výsledky:
.*@.* -
Pro omezení výsledků na všechny e-mail adresy:
[\\w.+\\-]+@[\\w.+\\-]+ -
Chcete-li omezit výsledky pouze na e-mailové adresy .com:
[\\w.+\\-]+@[\\w.+\\-]\\.com -
Chcete-li omezit výsledky na ty, které mají v e-mailové adrese čí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 zkratek nebo Strings napsaný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, která je plánována do budoucna) -
[A-Za-z0-9]+: Shoda s jakýmkoli alfanumerickým řetězcem (hello! → hello by byla shoda, ale ! není součástí [A-Za-z0-9]; 100% → shoda by byla pouze 100) -
([A-Za-z]+\\d+|\\d+[A-Za-z]+): Přísná 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“ -
Regulární výraz filtrování lze kombinovat s UI filtrovat
Skupiny zachycení regulárních výrazů jsou rozpoznány a celý dotaz je zvýrazněn, např. s(e)g zvýrazní „seg“. Skupiny zachycení lze použít pro nahrazení, 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 nahrazením 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 shodný 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 )