O suporte a regex no editor web é limitado pela implementação do mecanismo Lucene Regex.
Para usar regex, ative 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 nas configurações de filtrar para torná-las sensíveis a maiúsculas e minúsculas.
(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 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
\\busada para correspondência de palavras exatas (funciona no editor para desktop). -
\\\\[1-9]- Referências anteriores (\\1, \\2, etc.), por exemplo,(\\w+)\\s+\\1para correspondência de palavras duplicadas como “hello hello” -
\\(\\?=|\\(\\?!|\\(\\?<=|\\(\\?<!- 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”
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”
? - 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.\\-]+
-
cat|dog: Corresponde a: “cat” e “dog” -
red|blue|green: Corresponde a: “red”, “blue”, “green”
-
[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”
-
\\+[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”
-
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
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.$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
Hello(, (\\w+))?e SubstituirHi $1para transformar saudações substituindo \"Hello\" antes de nomes ou sozinho (por exemplo, de para e de para )