Regex pour trouver les hashtags

Utilisez /\B#[A-Za-z0-9_]+/g pour trouver chaque correspondance dans un texte. Chaque exemple ci-dessous est testé avec ce motif, et vous pouvez l’ouvrir dans le testeur de regex avec les exemples préchargés.

Mis à jour le

Texte d’exemple

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

3 correspondances

#regex #JavaScript_tips #2026goals

Fonctionnement du motif

PartieSignification
\BPas une limite de mot : le # ne doit pas suivre une lettre ou un chiffre, donc issue#42 est ignoré
#Le signe dièse
[A-Za-z0-9_]+Le tag : lettres, chiffres et tirets bas

Exemples de code

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

Remarques et limitations

Pour prendre en charge les hashtags dans toutes les langues, utilisez \B#[\p{L}\p{N}_]+ avec le drapeau u en JavaScript (Python nécessite le module tiers regex pour \p{…}).

Questions fréquentes

Quelle est la regex pour trouver les hashtags ?
/\B#[A-Za-z0-9_]+/g — elle trouve chaque correspondance dans un texte. Consultez le tableau ci-dessus pour le rôle de chaque partie.
Est-ce que cela fonctionne en Python et en PHP ?
Oui : les exemples de code ci-dessus utilisent le même motif avec re en Python et les fonctions preg en PHP.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le testeur de regex » : le motif, les drapeaux et le texte d’exemple se chargent automatiquement, et les correspondances se surlignent pendant que vous modifiez.