# Bloqueio de endereço de e-mail com expressão regular não funciona

**URL:** https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201
**Category:** Support
**Created:** [9 Abril , 2021 12:43 UTC](https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201 "2021-04-09T12:43:53Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![devnull](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@devnull](https://meta.discourse.org/u/devnull)
#### Post date: [9 Abril , 2021 12:43 UTC](https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201/1 "2021-04-09T12:43:53Z")

</div>

Olá a todos,

a bloqueio de posts com expressões regulares não está funcionando mais. A Ferramenta de Teste de RegEx está encontrando aquele endereço de e-mail, mas os usuários conseguem publicar endereços de e-mail:

```
RegEx: (^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)

```

 ![grafik](https://global.discourse-cdn.com/meta/original/3X/c/7/c744462e8640eac11faca8638cc7f39ad1783e30.png)

Isso é um bug?

Muito obrigado pela ajuda!

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [13 Abril , 2021 00:05 UTC](https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201/2 "2021-04-13T00:05:34Z")

</div>

> [@devnull](#):
>
> A Ferramenta de Teste de RegEx está encontrando o endereço de e-mail, mas os usuários conseguem postar endereços de e-mail.

Acho que há um problema com essa expressão regular. Parece que ela falhará, a menos que o endereço de e-mail seja postado em sua própria linha no editor. Você pode confirmar isso adicionando algum texto além de um endereço de e-mail ao testar a regex no Discourse. Mesmo apenas adicionar um espaço antes do endereço de e-mail fará com que ela falhe.

Aqui está uma expressão regular que deve funcionar para endereços de e-mail:

`\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b`

Para referência, encontrei essa regex aqui: [How to Find or Validate an Email Address](https://www.regular-expressions.info/email.html).

---

<div class="post-metadata">

### Author: ![devnull](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@devnull](https://meta.discourse.org/u/devnull)
#### Post date: [16 Abril , 2021 13:50 UTC](https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201/3 "2021-04-16T13:50:24Z")

</div>

Obrigado! Isso está funcionando. Agora outro problema: é possível usar essa RegEx apenas para posts públicos? Agora também não é possível enviar endereços de e-mail por mensagens privadas. Esse é um comportamento indesejável.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [16 Abril , 2021 16:50 UTC](https://meta.discourse.org/t/blocking-email-address-with-regular-expression-not-working/186201/4 "2021-04-16T16:50:29Z")

</div>

> [@devnull](#):
>
> É possível usar essa RegEx apenas para postagens públicas?

Não, não é possível aplicar palavras monitoradas apenas a postagens públicas. Com essa expressão regular em vigor, você precisará orientar seus usuários a inserir endereços de e-mail de uma forma que não seja detectada pela RegEx. Talvez adicionar um espaço antes do caractere `@` funcione.
