CAT editory

Regex v webovém editoru (TMS)

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

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

Pro použití regexu povolte shodu pomocí regexu 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 shodu podle velikosti písmen v nastavení filtru, aby byly citlivé na velikost písmen.

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

  • \\[1-9] - Zpětné odkazy (\1, \2 atd.), např. (\w+)\s+\1 k shodě s duplicitními slovy jako “ahoj ahoj”

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

Použití

Základní shoda vzorů

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"

Kvantifikátory

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

Alternace (OR operátor)

  • kočka|pes: Shoduje: „kočka“ a „pes“

  • červená|modrá|zelená: Shoduje: „červená“, „modrá“, „zelená“

Třídy znaků a rozsahy

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

Únik rezervovaných znaků . ? * { } [ ] ( ) " \

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

Filtrací bez ohledu na velikost písmen VS Filtrací citlivou na velikost písmen

  • 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 Filtr UI citlivý na velikost písmen

Zachycující skupiny

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

  • filtr (\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)

  • filtr (\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)

  • filtr ID-(\d{3,}) a nahradit Ticket #$1 pro extrakci čísla lístku (např. z ID-45321 na Ticket #45321)

  • filtr (cat|dog) a nahradit $1-$1 pro duplikaci shodného textu (např. z cat na cat-cat a z dog na dog-dog)

  • Volitelná skupina: filtr Ahoj(, (\w+))? a nahradit Ahoj $1 pro transformaci pozdravů nahrazením "Ahoj" před jmény nebo samostatně (např. z Ahoj, John na Ahoj John a z Ahoj na Ahoj)

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.