Regex tìm @mention

Dùng /\B@[A-Za-z0-9_]{1,15}/g để tìm mọi kết quả khớp trong một đoạn văn bản. Mỗi ví dụ bên dưới đều đã được kiểm thử với mẫu này, và bạn có thể mở trong Regex Tester với văn bản mẫu được nạp sẵn.

Cập nhật

/\B@[A-Za-z0-9_]{1,15}/g
Mở trong Regex Tester

Văn bản mẫu

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

2 kết quả khớp

@devpack @jane_doe

Cách hoạt động của mẫu

Thành phầnÝ nghĩa
\B@ không được đứng sau chữ cái hoặc chữ số, nên các địa chỉ email sẽ bị bỏ qua
@Ký tự at (@)
[A-Za-z0-9_]{1,15}Tên người dùng gồm 1–15 chữ cái, chữ số hoặc dấu gạch dưới (giới hạn của X/Twitter)

Ví dụ mã

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

Ghi chú và giới hạn

Hãy thay {1,15} theo quy tắc tên người dùng của nền tảng bạn dùng; ví dụ Instagram còn cho phép dấu chấm.

Câu hỏi thường gặp

Regex để tìm @mention là gì?
/\B@[A-Za-z0-9_]{1,15}/g — biểu thức này tìm mọi kết quả khớp trong văn bản. Xem bảng ở trên để biết từng thành phần làm gì.
Regex này có chạy được trong Python và PHP không?
Có — các ví dụ mã ở trên dùng cùng mẫu này với re trong Python và các hàm preg trong PHP.
Làm sao để kiểm tra regex này?
Nhấn “Mở trong Regex Tester” — mẫu, cờ và văn bản mẫu sẽ tự động được nạp, và các kết quả khớp sẽ được tô sáng khi bạn chỉnh sửa.