Editores CAT

Regex no editor web (TMS)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

O suporte a regex no editor web é limitado pela implementação do mecanismo Lucene Regex.

Para usar regex, ative Correspondência usando regex nas configurações do filtro. Um ícone de verificação verde no campo de entrada do filtro indica a validação bem-sucedida de um regex válido.

As consultas são, por padrão, insensíveis a maiúsculas e minúsculas. Ative Correspondência exata nas configurações do filtro para torná-las sensíveis a maiúsculas e minúsculas.

Correspondência de palavras (assegurando que corresponda apenas a palavras completas e não a substrings dentro de palavras mais longas) não está disponível.

A consulta ^abc$ funcionará como esperado, ou seja, correspondendo ao segmento inteiro, enquanto abc corresponderá à substring abc em qualquer texto.

Limitações

A substituição correta de consultas parcialmente formatadas não é suportada, por exemplo, buscar por "Jméno: $1, Příjmení: $2." no texto "\{b\>Primeiro nome<}: Bob, \{biu\>Sobrenome\<biu\}: Dylan." será substituído por “{>Jméno: Bob, Příjmení: Dylan\<b\}”

Padrões não suportados

  • O âncora de limite de palavra \b é usado para corresponder a palavras exatas (funciona no editor para desktop).

  • \\[1-9] - Referências retroativas (\1, \2, etc.), por exemplo, (\w+)\s+\1 para corresponder a palavras duplicadas como “hello hello”

  • \(\?=|\(\?!|\(\?&lt;=|\(\?&lt;! - Lookahead e lookbehind, por exemplo, cat(?=\.jpg) para corresponder a “cat” apenas em “cat.jpg”

  • \(\?: - Grupos não capturantes, por exemplo, (?:Sr|Sra|Srta)\. \w+, mas grupos capturantes (Sr|Sra|Srta)\. \w+ são suportados e correspondem a nomes como “Sra. Smith”, “Sr. Brown”

  • \(\?# - Comentários inline, por exemplo, \d{4}-(?# ano)\d{2}-(?# mês)\d{2}(?# dia) para corresponder a “2025-06-25”

  • \(\?P<[^>]+> - Grupos de captura nomeados, por exemplo, (?P<amount>\d+)\s?(?P<currency>USD|EUR) para corresponder a “150 USD” e “99 EUR”

Uso

Correspondência de Padrão Básica

Ponto (.) como um marcador de posição para qualquer caractere único

  • c.at: Correspondências: “chat”, “coat”. Não corresponde: “cat”, “cheat”

  • wa.ter: Correspondências: “waiter”, “waster”. Não corresponde: “water”

  • s.ip: Correspondências: “skip”, “ship”, “slip”. Não corresponde: “sip”, “strip”

Quantificadores

? - Zero ou uma ocorrência

  • colou?r: Correspondências: “color”, “colour”

  • g?rain: Correspondências: “grain”, “rain”

  • books?: Correspondências: “book”, “books”

.* - Qualquer número de caracteres (incluindo nenhum)

  • h.*y: Correspondências: “happy”, “history”, “honey”

  • sa.*d: Correspondências: “sad”, “sand”, “satisfied”

  • m.*ing: Correspondências: “morning”, “meeting”, “marketing”

.+ - Pelo menos um caractere deve aparecer

  • pa.+er: Correspondências: “paper”, “painter”

  • a.+ed: Correspondências: “asked”, “accepted”, “allowed”

* - Zero ou mais ocorrências

  • go*al: Correspondências: “goal”, “goooooooal”

+ - Uma ou mais ocorrências

  • não+: Combina: “não”, “nãoooooo”

  • $1+: Combina: “$1”, “$11”, “$111”

É recomendado usar um padrão o mais específico possível, pois padrões abertos podem causar problemas de desempenho no editor.

Importante

O editor tem um limite embutido sobre quão complexo um padrão regex pode ser. Padrões que são muito amplos ou usam muitos curingas podem falhar como regex inválido. Para evitar isso:

  • Mantenha os padrões curtos e específicos. error-[0-9]{3} está bom; .*a.*b.*c.*d.* não está.

  • Minimize os curingas. Cada .+ ou .* multiplica a complexidade interna. Prefira classes de caracteres como [A-Z]+ em vez de .* sempre que possível.

  • Evite longas alternâncias com repetição. Um padrão como (word1|word2|...|word20){2,} pode exceder rapidamente o limite. Isso é amplificado quando as alternativas incluem várias palavras ou pontuação, o que aumenta a complexidade do regex.

  • Ancore um lado quando possível. ^prefix.* é muito mais barato do que .*middle.*.

Se o padrão for rejeitado, tente torná-lo mais direcionado: comece com um prefixo fixo mais longo e reduza a partir daí. Considere reduzir o número de alternativas ou tratá-las em padrões separados em vez de combinar tudo em um regex complexo.

Exemplo:

Filtrando endereços de e-mail:

  • Este padrão irá corresponder a espaços e todas as palavras ao redor com potencialmente muitos resultados: .*@.*

  • Para limitar os resultados a todos os endereços de e-mail: [\w.+\-]+@[\w.+\-]+

  • Para limitar os resultados apenas a e-mails .com: [\w.+\-]+@[\w.+\-]\.com

  • Para limitar os resultados àqueles que têm um dígito nos endereços de e-mail: [\w.+\-]*\d+[\w.+\-]*@[\w.\-]+

Alternâncias (operador OR)

  • gato|cachorro: Corresponde: “gato” e “cachorro”

  • vermelho|azul|verde: Corresponde: “vermelho”, “azul”, “verde”

Classes de Caracteres e Intervalos

  • [A-Z]+: Corresponde a uma ou mais letras maiúsculas em sequência (uma sequência).

  • [A-Z]{2,}: Corresponde a qualquer série de letras maiúsculas (útil para, por exemplo, corresponder a siglas ou strings escritas em letras maiúsculas)

  • [0-9]{4}: Corresponde a números de quatro dígitos, por exemplo. "1999", "2003", "1876" (também encontrado dentro de uma string de mais de quatro dígitos; para limitar os resultados, a opção de palavras de correspondência planejada para o futuro deve ser usada)

  • [A-Za-z0-9]+: Corresponde a qualquer string alfanumérica (olá! → olá corresponderia, mas ! não faz parte de [A-Za-z0-9]; 100% → apenas 100 corresponderia)

  • ([A-Za-z]+\d+|\d+[A-Za-z]+): Corresponde estritamente a uma combinação de dígitos e letras, por exemplo, “usuario123”, “Admin99”, “Win11”, “5g”, “1080p”

  • [0-9]{2,4}-[A-Z]{2,3}: Corresponde a placas de licença, por exemplo. “12-XY”, “9999-ABC”

Escapando Caracteres Reservados . ? * { } [ ] ( ) " \

  • \+[0-9]{1,2}: Corresponde a “+40”, “+1”

  • \{versão: [0-9]+\}: Corresponde a “{versão: 12}”, “{versão: 13}”

  • C:\\[A-Za-z]+: Corresponde a “C:\Usuários”, C:\Documentos, “C:\Área de Trabalho”

Filtragem sem distinção entre maiúsculas e minúsculas VS Filtragem com distinção entre maiúsculas e minúsculas

  • Por padrão, a filtragem regex será implementada como sem distinção entre maiúsculas e minúsculas. c.at: Corresponde a: “chat”, “Chat”, “CHAT” e “coat”, “Coat”, “COAT”

  • A filtragem regex pode ser combinada com o filtro de UI com distinção entre maiúsculas e minúsculas

Grupos de Captura

Grupos de captura regex são reconhecidos e a consulta completa é destacada, por exemplo, s(e)g destacará "seg". Grupos de captura podem ser usados para substituição, por exemplo, “Nome: Bob” pode ser pesquisado por Nome: (.*?) e substituído usando uma referência de volta para Jméno: $1.” Referências de volta ausentes são tratadas graciosamente, ou seja, a consulta Nome: (.*?) com substituição Jméno: $1, Título: $2 será substituída como Jméno: Bob, Título: $2.

Exemplos para referência de volta na substituição:

  • filtrar (\d+),(\d+) e substituir $1.$2 para normalizar separadores decimais (por exemplo, de 5,6 ou 35,949 para 5.6 ou 35.949)

  • filtrar (\d+)\.(\d+) e substituir $1,$2 para normalizar separadores decimais (por exemplo, de 5.6 ou 35.949 para 5,6 ou 35,949)

  • filtrar (\d{4})-(\d{2})-(\d{2}) e substituir $3/$2/$1 para reformatar a data (por exemplo, de 2025-06-05 para 05/06/2025)

  • filtrar ID-(\d{3,}) e substituir Ticket #$1 para extrair o número do ticket (por exemplo, de ID-45321 para Ticket #45321)

  • filtrar (cat|dog) e substituir $1-$1 para duplicar o texto correspondente (por exemplo, de cat para cat-cat e de dog para dog-dog)

  • Grupo opcional: filtrar Olá(, (\w+))? e substituir Oi $1 para transformar saudações substituindo "Olá" antes de nomes ou por conta própria (por exemplo, de Olá, John para Oi John e de Olá para Oi)

Esse artigo foi útil?

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.