Regex pour trouver les @mentions

Utilisez /\B@[A-Za-z0-9_]{1,15}/g pour trouver chaque correspondance dans un texte. Chaque exemple ci-dessous est testé avec ce modèle, et vous pouvez l'ouvrir dans le testeur de regex avec les exemples préchargés.

Mis à jour le

/\B@[A-Za-z0-9_]{1,15}/g
Ouvrir dans le testeur de regex

Texte d'exemple

Thanks @devpack and @jane_doe! Email me at jane@example.com instead.

2 correspondances

@devpack @jane_doe

Fonctionnement du modèle

ÉlémentSignification
\BLe @ ne doit pas suivre une lettre ou un chiffre, afin d'ignorer les adresses e-mail
@Le signe arobase
[A-Za-z0-9_]{1,15}Un identifiant de 1–15 lettres, chiffres ou tirets bas (la limite de X/Twitter)

Exemples de code

JavaScript

const matches = text.match(/\B@[A-Za-z0-9_]{1,15}/g) ?? [];

Python

import re

matches = re.findall(r'\B@[A-Za-z0-9_]{1,15}', text)

PHP

preg_match_all('/\B@[A-Za-z0-9_]{1,15}/', $text, $m);
$matches = $m[0];

Remarques et limites

Remplacez {1,15} par les règles d'identifiant de votre plateforme ; Instagram autorise aussi les points.

Questions fréquentes

Quelle est la regex pour trouver les @mentions ?
/\B@[A-Za-z0-9_]{1,15}/g — elle trouve chaque correspondance dans un texte. Consultez le tableau ci-dessus pour le rôle de chaque élément.
Fonctionne-t-elle en Python et en PHP ?
Oui — les exemples de code ci-dessus utilisent le même modèle avec re en Python et les fonctions preg en PHP.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le testeur de regex » : le modèle, les drapeaux et le texte d'exemple se chargent automatiquement, et les correspondances se surlignent pendant que vous modifiez.