Bỏ qua menu, vào nội dung chính
Quay lại
Regex Tester

Regex Playground

Pattern + flags + test text → highlight matches realtime, capture groups, count. JavaScript regex engine native.

//
Flags: g global · i case-insensitive · m multiline · s dotAll · u unicode

Test text

Highlight (3 matches)

Liên hệ hello@alodev.vn hoặc support@example.com để biết thêm. Một email khác: test+tag@gmail.co.uk

Match details

#MatchPositionGroups
1hello@alodev.vn[8, 23)(no capture)
2support@example.com[29, 48)(no capture)
3test+tag@gmail.co.uk[79, 99)(no capture)

Thử biểu thức trước khi đưa vào mã nguồn

Công cụ này chạy bằng gì

Biểu thức cùng các cờ bạn nhập được biên dịch bằng chính bộ xử lý biểu thức chính quy của JavaScript, quét toàn bộ văn bản mẫu và tô sáng mọi đoạn khớp ngay khi bạn gõ. Bên dưới là bảng liệt kê từng kết quả kèm vị trí ký tự bắt đầu và nội dung của từng nhóm bắt. Có sẵn mẫu cho địa chỉ thư điện tử, địa chỉ web, số điện thoại Việt Nam, ngày viết theo kiểu ngày tháng năm và thẻ chủ đề có dấu tiếng Việt.

Việc cần thử biểu thức

Khi viết luật kiểm tra dữ liệu người dùng nhập vào biểu mẫu. Khi bóc dữ liệu từ nhật ký hệ thống hoặc từ một khối văn bản dán thô. Khi viết luật chuyển hướng hay luật lọc trong cấu hình máy chủ. Khi cần hiểu một biểu thức người khác viết thật ra khớp những gì, việc đọc chay rất dễ nhầm.

Đọc kết quả và các cờ

Cột nhóm cho thấy các cặp ngoặc của bạn bắt được đúng phần nào, đây là chỗ sai nhiều nhất khi dùng biểu thức để thay thế chuỗi. Cờ g quét hết văn bản thay vì dừng ở kết quả đầu tiên, cờ i bỏ phân biệt hoa thường, cờ m đổi ý nghĩa của ký tự đầu dòng và cuối dòng, cờ u bật chế độ Unicode và là điều kiện bắt buộc để lớp ký tự theo thuộc tính Unicode khớp được chữ tiếng Việt có dấu.

Rủi ro khi mang sang máy chủ

Bộ xử lý của JavaScript khác bộ của PHP và khác bộ của Go, nên một biểu thức chạy đúng ở đây có thể lỗi hoặc khớp khác khi bê sang ngôn ngữ khác. Biểu thức có lượng từ lồng nhau dễ rơi vào tình trạng quay lui bùng nổ và treo cả trình duyệt; ở đây có chốt an toàn dừng lại sau một số lượng kết quả nhất định, nhưng trên máy chủ của bạn thì không có chốt nào, và đó chính là cách một biểu thức viết ẩu trở thành lỗ hổng làm nghẽn dịch vụ. Biểu thức khớp được chuỗi rỗng sẽ gây vòng lặp vô hạn nếu bạn tự viết vòng quét mà không tự tăng con trỏ.

Biểu thức và văn bản mẫu không rời trình duyệt. Biểu thức và văn bản mẫu chỉ chạy trong trình duyệt, không có gì được gửi lên máy chủ, nên bạn có thể dán cả dữ liệu thật để thử.

Cần bản riêng cho doanh nghiệp bạn?

Mọi công cụ trong Lab đều do đội ngũ Alodev tự xây. Chúng tôi có thể xây phiên bản riêng - gắn thương hiệu, nối dữ liệu nội bộ, thêm tính năng theo quy trình của bạn.