O suporte a regex no editor web é limitado pela implementação do mecanismo Lucene Regex.
Para usar regex, ative 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 nas configurações do filtro para torná-las sensíveis a maiúsculas e minúsculas.
(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 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+\1para corresponder a palavras duplicadas como “hello hello” -
\(\?=|\(\?!|\(\?<=|\(\?<!- 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”
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”
? - 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.\-]+
-
gato|cachorro: Corresponde: “gato” e “cachorro” -
vermelho|azul|verde: Corresponde: “vermelho”, “azul”, “verde”
-
[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”
-
\+[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
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.$2para normalizar separadores decimais (por exemplo, de 5,6 ou 35,949 para 5.6 ou 35.949) -
filtrar
(\d+)\.(\d+)e substituir$1,$2para 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/$1para reformatar a data (por exemplo, de 2025-06-05 para 05/06/2025) -
filtrar
ID-(\d{3,})e substituirTicket #$1para extrair o número do ticket (por exemplo, de para ) -
filtrar
(cat|dog)e substituir$1-$1para duplicar o texto correspondente (por exemplo, de cat para cat-cat e de dog para dog-dog) -
Grupo opcional: filtrar
Olá(, (\w+))?e substituirOi $1para transformar saudações substituindo "Olá" antes de nomes ou por conta própria (por exemplo, de para e de para )