Regex para encontrar hashtags

Use /\B#[A-Za-z0-9_]+/g para encontrar todas as correspondências em um texto. Cada exemplo abaixo foi testado com o padrão, e você pode abri-lo no Regex Tester com os textos de exemplo já carregados.

Atualizado em

/\B#[A-Za-z0-9_]+/g
Abrir no Regex Tester

Texto de exemplo

Loving #regex and #JavaScript_tips! Not a tag: issue#42 or a lone # sign. #2026goals

3 correspondências

#regex #JavaScript_tips #2026goals

Como o padrão funciona

ParteSignificado
\BNão é um limite de palavra — o # não pode vir depois de uma letra ou dígito, então issue#42 é ignorado
#O símbolo de hashtag
[A-Za-z0-9_]+A tag: letras, dígitos e sublinhados

Exemplos de código

JavaScript

const matches = text.match(/\B#[A-Za-z0-9_]+/g) ?? [];

Python

import re

matches = re.findall(r'\B#[A-Za-z0-9_]+', text)

PHP

preg_match_all('/\B#[A-Za-z0-9_]+/', $text, $m);
$matches = $m[0];

Observações e limitações

Para oferecer suporte a hashtags em qualquer idioma, use \B#[\p{L}\p{N}_]+ com a flag u em JavaScript (o Python precisa do módulo de terceiros regex para \p{…}).

Perguntas frequentes

Qual é a regex para encontrar hashtags?
/\B#[A-Za-z0-9_]+/g — encontra cada correspondência em um texto. Veja a tabela acima para entender o que cada parte faz.
Funciona em Python e PHP?
Sim — os exemplos de código acima usam o mesmo padrão com re em Python e funções preg em PHP.
Como testo essa regex?
Clique em “Abrir no Regex Tester” — o padrão, as flags e o texto de exemplo são carregados automaticamente, e as correspondências são destacadas enquanto você edita.