Regex kiểm tra URL

Cập nhật: 24 Tháng 6, 2026

Dùng biểu thức /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/gi để Trích xuất liên kết http/https kèm tham số truy vấn trong văn bản. Trang này có công cụ kiểm tra trực tiếp cùng 6 ví dụ đã được đối chiếu (3 hợp lệ, 3 không hợp lệ).

Biểu thức
6 ví dụ test
/ https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*) /gi
Group 1: www. Group 2: Đường dẫn + truy vấn
/ /

edit_note Văn bản kiểm tra

analytics Kết quả

Số lượng khớp: 0
Chi tiết group:

Chưa có kết quả.

check_circle Ví dụ HỢP LỆ (nên khớp)
https://tools.vietsolutions.net.vn/regex
Đường dẫn + truy vấn: /regex
checkKhớp
http://example.com
checkKhớp
https://www.google.com/search?q=regex
www.: www. Đường dẫn + truy vấn: /search?q=regex
checkKhớp
cancel Ví dụ KHÔNG hợp lệ (không khớp)
vietsolutions.net.vn
blockKhông khớp
ftp://server
blockKhông khớp
chỉ là chữ
blockKhông khớp

code Dùng trong code

JavaScript
const re = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/gi;
const matches = str.match(re);
PHP
preg_match_all('~https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+\~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.\~#?&\/=]*)~i', $str, $matches);
print_r($matches);
Python
import re
pattern = re.compile(r"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)", re.IGNORECASE)
matches = pattern.findall(text)
Go
re := regexp.MustCompile(`https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)`)
matches := re.FindAllString(str, -1)

Trang này cung cấp biểu thức chính quy /https?://(www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}b([-a-zA-Z0-9()@:%_+.~#?&/=]*)/gi để Trích xuất liên kết http/https kèm tham số truy vấn trong văn bản. Bạn có thể kiểm tra trực tiếp với dữ liệu của mình bằng công cụ phía trên, xem các ví dụ đã đối chiếu và sao chép sẵn mã cho JavaScript, PHP, Python và Go. Mẫu thuộc nhóm Web & Mạng.

tips_and_updates Ghi chú & lưu ý chuyên môn

Bắt URL bắt đầu bằng http hoặc https, kèm tên miền, phụ con đường và chuỗi truy vấn. Nhóm 1 bắt tiền tố www., nhóm 2 bắt phần đường dẫn + query. Đây là pattern để TRÍCH URL từ một đoạn văn bản; nếu bạn cần phân tích từng thành phần (scheme/host/path/query) thì nên dùng đối tượng URL của trình duyệt thay vì regex.

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

Regex kiểm tra URL như thế nào? expand_more
Dùng biểu thức /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/gi. Pattern này Trích xuất liên kết http/https kèm tham số truy vấn trong văn bản.
Biểu thức "https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)" khớp được những ví dụ nào? expand_more
Khớp các giá trị hợp lệ như "https://tools.vietsolutions.net.vn/regex". Ngược lại, "vietsolutions.net.vn" sẽ không khớp. Trang này kèm 3 ví dụ hợp lệ và 3 ví dụ không hợp lệ đã kiểm chứng.
Dùng biểu thức này trong JavaScript ra sao? expand_more
Trong JavaScript: const re = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/gi; rồi gọi str.match(re). Bạn cũng có thể dán pattern vào công cụ kiểm tra ở trên để thử với dữ liệu của mình.

Mẫu regex liên quan: Web & Mạng

Xem tất cả