Regex Tester online
Chạy biểu thức chính quy JavaScript trên văn bản: mọi kết quả khớp kèm vị trí, nhóm đánh số và nhóm có tên, thay thế và tách chuỗi, có chặn mẫu chạy quá lâu.
Kết quả
Bấm “Chạy” để xem kết quả.
API regex chạy một biểu thức chính quy (cú pháp JavaScript / ECMAScript như trong trình duyệt và Node.js) trên văn bản tối đa 100.000 ký tự. action=match (mặc định) trả về mọi kết quả khớp kèm vị trí bắt đầu, kết thúc và giá trị, vị trí của từng nhóm đánh số và nhóm có tên; test trả về true / false, replace thay thế với $1, $<tên> và $&, còn split tách chuỗi.
Các cờ thông dụng g i m s u v y (và d, dùng nội bộ để lấy vị trí nhóm). Không có g, match chỉ trả về kết quả đầu tiên. Mẫu không hợp lệ trả về lỗi 400 kèm thông báo của engine, nên API cũng dùng được để kiểm tra mẫu do người dùng nhập.
Các mẫu có lượng từ lồng nhau như (a+)+ hay (\w*\s?)*, vốn có thể chạy mất thời gian luỹ thừa với một số đầu vào, bị từ chối với mã unsafe_pattern. Kết quả giới hạn 1.000 lần khớp (limit, mặc định 100); count vẫn cho biết tổng số.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/regex" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pattern":"(?<user>[\\w.]+)@([\\w.]+)","flags":"g","text":"a@x.com, b.c@y.vn"}'const res = await fetch('https://apibox.io.vn/v1/regex', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"pattern": "(?<user>[\\w.]+)@([\\w.]+)",
"flags": "g",
"text": "a@x.com, b.c@y.vn"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/regex",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"pattern": "(?<user>[\\w.]+)@([\\w.]+)", "flags": "g", "text": "a@x.com, b.c@y.vn"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/regex');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"pattern":"(?<user>[\\\\w.]+)@([\\\\w.]+)","flags":"g","text":"a@x.com, b.c@y.vn"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Dùng cú pháp regex nào?
ECMAScript (V8), giống JavaScript trong trình duyệt và Node.js. Hỗ trợ lookbehind, nhóm có tên, Unicode property (\p{L} với cờ u) và cờ v.
Vì sao mẫu của tôi bị coi là không an toàn?
Mẫu có một nhóm được lặp mà bên trong lại có lượng từ, nguyên nhân kinh điển của backtracking bùng nổ. Hãy viết lại (ví dụ (a+)+ → a+).
Tham chiếu nhóm trong chuỗi thay thế thế nào?
$1, $2… cho nhóm đánh số, $<tên> cho nhóm có tên, $& cho cả chuỗi khớp và $$ cho ký tự $.