Как работает шаблон
| Часть | Значение |
|---|---|
\B | Не граница слова: перед # не должна стоять буква или цифра, поэтому issue#42 пропускается |
# | Знак решётки |
[A-Za-z0-9_]+ | Тег: буквы, цифры и символы подчёркивания |
Примеры кода
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];
Примечания и ограничения
Чтобы поддерживать хэштеги на любом языке, используйте \B#[\p{L}\p{N}_]+ с флагом u в JavaScript (в Python для \p{…} нужен сторонний модуль regex).
Тестер регулярных выражений
Введите шаблон и смотрите, как совпадения подсвечиваются прямо в тестовом тексте.
Часто задаваемые вопросы
Какое регулярное выражение для поиска хэштегов?
/\B#[A-Za-z0-9_]+/g — оно находит все совпадения в тексте. Что делает каждая часть, см. в таблице выше.
Работает ли это в Python и PHP?
Да — в примерах кода выше используется тот же шаблон: модуль re в Python и функции preg в PHP.
Как проверить это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и текст загрузятся автоматически, а совпадения будут подсвечиваться при редактировании.