Regex para encontrar hashtags

Usa /\B#[A-Za-z0-9_]+/g para encontrar todas las coincidencias en un texto. Cada ejemplo de abajo está probado con el patrón, y puedes abrirlo en el Probador de Regex con los textos de muestra ya cargados.

Actualizado el

Texto de ejemplo

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

3 coincidencias

#regex #JavaScript_tips #2026goals

Cómo funciona el patrón

ParteSignificado
\BNo es un límite de palabra: el # no debe ir seguido de una letra o dígito, así que issue#42 se omite
#El signo de almohadilla
[A-Za-z0-9_]+La etiqueta: letras, dígitos y guiones bajos

Ejemplos 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];

Notas y limitaciones

Para admitir hashtags en cualquier idioma, usa \B#[\p{L}\p{N}_]+ con la bandera u en JavaScript (Python necesita el módulo de terceros regex para \p{…}).

Preguntas frecuentes

¿Cuál es el regex para encontrar hashtags?
/\B#[A-Za-z0-9_]+/g: encuentra todas las coincidencias en un texto. Consulta la tabla de arriba para ver qué hace cada parte.
¿Funciona en Python y PHP?
Sí: los ejemplos de código de arriba usan el mismo patrón con re en Python y funciones preg en PHP.
¿Cómo pruebo este regex?
Haz clic en «Abrir en el Probador de Regex»: el patrón, las banderas y el texto de muestra se cargan automáticamente, y las coincidencias se resaltan mientras editas.