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 Match using regex nas configurações de filtrar. Uma marca de verificação verde no campo de entrada de filtrar indica a validação bem-sucedida de uma regex válida.

Consultas não diferenciam maiúsculas de minúsculas por padrão. Ative Match case nas configurações de filtrar para torná-las sensíveis a maiúsculas e minúsculas.

Match words (garantindo a correspondência apenas de palavras Concluir e não de substrings dentro de palavras mais longas) não está disponível.

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

Limitações

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

Padrões não suportados

  • Âncora de limite de palavra \\b usada para correspondência de palavras exatas (funciona no editor para desktop).

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

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

  • \\(\\?: - Grupos de não captura, por exemplo, (?:Mr|Mrs|Ms)\\. \\w+, mas grupos de captura (Mr|Mrs|Ms)\\. \\w+ são suportados e correspondem a nomes como “Mrs. Smith”, “Mr. Brown”

  • \\(\\?# - Comentários em linha, por exemplo, \\d\{4\}-(?# year)\\d\{2\}-(?# month)\\d\{2\}(?# day) para correspondência de “2025-06-25”

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

Uso

Correspondência básica de padrões

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

  • c.at: Correspondências: “chat”, “coat”. NÃO corresponde a: “cat”, “cheat”

  • wa.ter: Correspondências: “waiter”, “waster”. NÃO corresponde a: “water”

  • s.ip: Correspondências: “skip”, “ship”, “slip”. NÃO corresponde a: “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

  • no+: Correspondência: “no”, “noooooo”

  • $1+: Correspondência: “$1”, “$11”, “$111”

Recomenda-se 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 integrado 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álida. Para evitar isso:

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

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

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

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

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

Exemplo:

Filtrando por endereços de e-mail:

  • Este padrão fará a correspondência de espaços e todas as palavras ao redor com resultados potencialmente excessivos: .*@.*

  • 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 possuem um dígito nos endereços de e-mail: [\\w.+\\-]*\\d+[\\w.+\\-]*@[\\w.\\-]+

Alternâncias (operador OU)

  • cat|dog: Corresponde a: “cat” e “dog”

  • red|blue|green: Corresponde a: “red”, “blue”, “green”

Classes de Caractere 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, por exemplo, para correspondência de 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 com mais de quatro dígitos; para limitar os resultados, a opção de Match words planejada para o futuro deve ser usada)

  • [A-Za-z0-9]+: Corresponde a qualquer string alfanumérica (hello! → hello 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, “user123”, “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”

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

  • C:\\\\[A-Za-z]+: Corresponde a “C:\\Users”, C:\\Documents, “C:\\Desktop”

Filtragem que diferencia maiúsculas de minúsculas VS que não diferencia

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

  • A filtragem por regex pode ser combinada com o filtro de interface Case sensitive

Grupos de captura

Grupos de captura de Regex são reconhecidos e a consulta completa é destacada, por exemplo, s(e)g destacará \"seg\" . Grupos de captura podem ser usados para Substituir, por exemplo, “Name: Bob” pode ser pesquisado por Name: (.*?) e substituído usando uma referência inversa para Jméno: $1”. Referências inversas ausentes são tratadas gentilmente, ou seja, a consulta Name: (.*?) com a Substituir Jméno: $1, Title: $2 será substituída como Jméno: Bob, Title: $2.

Exemplos para Substituir referência inversa:

  • 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 Hello(, (\\w+))? e Substituir Hi $1 para transformar saudações substituindo \"Hello\" antes de nomes ou sozinho (por exemplo, de Hello, John para Hi John e de Hello para Hi)

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.