Regex: trích, lọc & thay thế

🔒 Chạy ngay trong trình duyệt — không tải lên bất cứ thứ gì.
/ / g

Về công cụ này

regexcheck.com cho biết pattern có khớp hay không; còn regexnow là để làm gì đó với các kết quả khớp. Dán một file log, một cột CSV, một file export — bất cứ gì — rồi rút ra mọi email hay ID (trích), chỉ giữ dòng chứa ERROR hoặc bỏ phần nhiễu (lọc), hoặc viết lại bằng capture group như $1-$2 (thay thế).

Pattern chạy trong Web Worker với cơ chế ngắt 2 giây, nên regex bị backtracking thảm họa không thể làm treo tab, và không gì bạn dán rời khỏi trình duyệt. Chỉ cần test pattern trước? Dùng công cụ chị em regexcheck.com.

Engine chính là regex của JavaScript — đúng flavor bạn dùng trong Node và trình duyệt — nên \d, \w, lookahead, named group (?<name>…) và các cờ i, m, s hoạt động y hệt trong code của bạn. Ở chế độ trích, các capture group được xuất cách nhau bằng tab, dán thẳng vào bảng tính rất gọn. Chế độ lọc giống grep (đảo ngược thì như grep -v), còn thay thế hỗ trợ $1, $&$<name>. Việc thường gặp: rút email, URL hay IP từ log, xoá timestamp, đảo thứ tự thành phần ngày tháng.

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

Công cụ này dùng flavor regex nào?

Regex của JavaScript (ECMAScript) — cùng engine với Node.js và mọi trình duyệt. Lookahead, lookbehind, named group và unicode escape đều dùng được; các tính năng riêng của PCRE như atomic group hay possessive quantifier thì không hỗ trợ.

Làm sao chỉ trích một phần của mỗi kết quả khớp?

Thêm capture group bằng ngoặc đơn. Ở chế độ trích, mỗi dòng kết quả gồm match đầy đủ cộng từng group, ngăn bằng tab — ví dụ (\w+)@([\w.]+) cho ra địa chỉ, user và domain thành các cột dán thẳng vào bảng tính.

Vì sao pattern của tôi bị ngắt sau 2 giây?

Gần như chắc chắn là catastrophic backtracking — quantifier lồng nhau như (a+)+ có thể tốn thời gian theo cấp số mũ. Mọi pattern chạy trong Web Worker với cơ chế ngắt 2 giây nên tab không bao giờ treo; hãy viết lại bằng quantifier lazy hoặc lớp ký tự cụ thể hơn.

Văn bản của tôi có bị tải lên đâu không?

Không. Khớp, lọc và thay thế đều chạy trong Web Worker của trình duyệt. Log, file export hay dữ liệu khách hàng bạn dán không bao giờ rời máy — an toàn với dữ liệu nhạy cảm.