Uma Expressão Regular, REGEX, é uma string de texto especial para descrever um padrão de pesquisa. No Hotjar, você pode usar Expressões Regulares para direcionar páginas com widgets de Feedback ou Pesquisas, ou para determinar quando o Hotjar deve começar a gravar a sessão de um usuário.
Além disso, as Expressões Regulares podem ser usadas para impedir que endereços IP sejam rastreados por Gravações e Mapas de Calor. As configurações de bloqueio de IP podem ser encontradas nas suas configurações do Hotjar.
Cuidado com erros comuns
- Se você incluir os caracteres de início e fim (^ e $) então qualquer URL que inclua texto antes ou depois do padrão não será correspondido. Evite usá-los. É muito comum que as URLs incluam strings de consulta no final, como o parâmetro UTM que são adicionados às URLs para fins de rastreamento. Um exemplo seria:
https://www.hotjar.com/?utm_campaign=ads - Uma barra (/) no final da URL geralmente é opcional. Se o seu REGEX incluir esse caractere no final, então uma visita à mesma URL, mas sem a barra, não corresponderá. É melhor não incluir esse caractere de barra final.
- Há um limite de 750 caracteres para todas as nossas regras de direcionamento REGEX. Se você ultrapassar esse limite, uma mensagem de erro informando que Houve um problema ao salvar as configurações de direcionamento e rastreamento da sessão. Por favor, tente novamente mais tarde irá alertá-lo sobre este problema.
Precisa de ajuda para construir suas Expressões Regulares?
Se você não está familiarizado com Expressões Regulares e gostaria de aprender mais, nós altamente recomendamos fazer um curso rápido!
Direcionamento de Página com Expressões Regulares
Para o direcionamento de página, ao configurar sua ferramenta, haverá uma opção Direcionamento de Página na qual as Expressões Regulares podem ser definidas como a opção de direcionamento.
- Exemplos de curinga (onde * pode ser qualquer coisa)
- Curinga excluindo um certo padrão
- Excluindo certas palavras ou padrões em uma URL
- Várias páginas que não seguem nenhum padrão
Sua REGEX não está funcionando?
Você pode testar o código REGEX em regex101.com usando o sabor "PCRE2 (PHP >=7.3)" no menu à esquerda e inserir diferentes URLs no campo TEST STRING para garantir que elas correspondam.
Exemplos de curinga (onde * pode ser qualquer coisa)
Alvo:
www.example.com/pages/*
(http|https):\/\/www.example.com\/pages\/.*
Alvo:
www.example.com/pages/*/article
(http|https):\/\/www.example.com\/pages\/[^\/]+\/article
www.example.com/user/<user_id>/profile/(user_id numérico)
(http|https):\/\/www.example.com\/user\/[0-9]+\/profile\/
Curinga excluindo um certo padrão
Alvo:
Todas as páginas que correspondem ao padrão, mas não incluem a palavra "article" ou "post" www.example.com/pages/*/subpage
(http|https):\/\/www.example.com\/pages\/(?!article|post)[^\/]+\/subpage
Excluindo certas palavras ou padrões em um URL
Alvo:
Todas as páginas que não incluem "/somepage" e "/someotherpage"
^((?!\/somepage|\/someotherpage).)*$
Alvo:
Páginas que incluem a palavra "page" e não incluem "somepage":
(?=.*page.*)(?!.*somepage).*
Várias páginas que não seguem nenhum padrão
Alvo nessas três páginas:
www.example.com/pages/article-one/details/
www.example.com/pages/some-random-word/details/
www.example.com/pages/another-post/details/
(http|https):\/\/www.example.com\/pages\/(article-one|some-random-word|another-post)\/details\/
Bloqueando IPs com Expressões Regulares
Suporte a IP
Apenas endereços IPv4 podem ser inseridos neste momento. Não podemos suportar IPv6 ou endereços IP dinâmicos.
Correspondência simples de IP (IP único)
192.168.0.1 ou 192\.168\.0\.1
Ambos funcionariam, pois em regex, o caractere "." significa "qualquer caractere".
Faixas de IP
Bloqueie os IPs 192.168.0.14 - 192.168.0.62
192\.168\.0\.(1[4-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|6[0-2])
Bloqueie os IPs 192.168.0.0 - 192.168.0.255
192\.168\.0\.\d{1,3}
Construtor de Expressão Regular para Faixa de IP
Para gerar faixas de IP no formato regex, confira esta ferramenta gratuita:
http://www.analyticsmarket.com/freetools/ipregex
127.76.111.64/28
127\.76\.111\.(6[4-9]|7[0-9])
IPs diferentes
Bloqueie todos esses IPs:
192.168.0.1
192.168.0.100
192.168.0.150
192\.168\.0\.(1|100|150)