uma menção com arroba
Casa com uma menção com arroba. Encontra em qualquer parte do texto. Tem 1 grupo de captura.
Padrão
/(?:^|\s)@([a-z0-9_]{2,})/i- Alcance
- em qualquer parte do texto
- Grupos de captura
- 1
- Flags
- i · ignorar maiúsculas
- O que captura no primeiro exemplo
- @user
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
@user
hi @user
2 correspondências
Exemplos que casam
- @user
- hi @user
Exemplos que não casam
- a@user
- @u
Outras expressões do grupo
'[^'\\]*(?:\\.[^'\\]*)*'texto entre aspas simples\[([^\]]+)\]\(([^)]+)\)um link Markdown^#{1,6}\s+.+$uma linha de título Markdown(?:^|\s)#([a-z0-9_]+)uma hashtag[?&]([^=&]+)=([^&]*)um parâmetro de consulta de uma URLhttps?://[^\s<>"]+uma URL dentro de um texto comum^https?://([^/:?#]+)só o domínio de uma URL\.([a-z0-9]+)$a extensão de um nome de arquivoComo ler
- Com ^ e $ em volta, a cadeia inteira precisa casar; sem eles, a correspondência pode estar em qualquer lugar. Ancore sempre o que usar para validar.
- Os parênteses ( ) capturam o que envolvem. Se você só precisa agrupar, escreva (?: ) para a numeração não se deslocar.
- Cada expressão aqui é conferida com seus exemplos. Ainda assim, "parece um e-mail" e "é uma caixa real" são coisas diferentes.
- Repetições abertas aninhadas como (a+)+ podem explodir com certas entradas. Procure esse formato antes de colar uma expressão alheia.
Perguntas frequentes
Q. Qual é a regex para uma menção com arroba?
(?:^|\s)@([a-z0-9_]{2,}), com a flag i.
Q. Quais cadeias casam?
Um texto como @user casa; um como a@user não.
Q. A cadeia inteira precisa casar?
Não. Encontra a parte em qualquer lugar do texto. Coloque ^ e $ em volta para verificar a cadeia inteira.
Q. Como uso o que foi capturado?
Há 1 grupo de captura, então dá para ler a partir de match[1].