CAT editory

Regex ve webovém editoru (TMS)

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

Podpora regexu ve webovém editoru je omezena implementací nástroje Lucene Regex.

Chcete-li použít regex, povolte Shoda pomocí regexu 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 Shoda velkých a malých písmen v nastavení filtru, aby byly rozlišovány.

Shoda slov (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 abc 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 \\b použitá pro shodu přesných slov (funguje v desktopovém editoru).

  • \\\\[1-9] – Zpětné odkazy (\1, \2 atd.), např. (\\w+)\\s+\\1 pro shodu duplicitních slov jako „hello hello“

  • \\(\\?=|\\(\\?!|\\(\\?&lt;=|\\(\\?&lt;! – 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“

Základní shoda vzorů

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“

Kvantifikátory

? – 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.\\-]+

Alternace (operátor NEBO)

  • cat|dog: Shoda s: „cat“ a „dog“

  • red|blue|green: Shoda s: „red“, „blue“, „green“

Třídy znaků a rozsahy

  • [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“

Escapování rezervovaných znaků . ? * { } [ ] ( ) \" \\

  • \\+[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“

Filtrování nerozlišující vs. rozlišující velká a malá písmena

  • 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 rozlišováním velkých a malých písmen v UI filtru

Zachyťovací skupiny

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.$2 pro normalizaci desetinných oddělovačů (např. z 5,6 nebo 35,949 na 5.6 nebo 35.949)

  • filtrovat (\\d+)\\.(\\d+) a Nahradit $1,$2 pro 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/$1 pro přeformátování data (např. z 2025-06-05 na 05/06/2025)

  • filtrovat ID-(\\d{3,}) a Nahradit Ticket #$1 pro extrakci čísla tiketu (např. z ID-45321 na Ticket #45321)

  • filtrovat (cat|dog) a Nahradit $1-$1 pro Kopírovat nalezený text (např. z cat na cat-cat a z dog na dog-dog)

  • Volitelná skupina: filtrovat Hello(, (\\w+))? a Nahradit Hi $1 pro transformaci pozdravů nahrazením „Hello“ před jmény nebo samostatně (např. z Hello, John na Hi John a z Hello na Hi)

Byl pro vás tento článek užitečný?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.