Trình tạo Regex từ mẫu
Viết regex thủ công cho một mã đơn hàng, một số hóa đơn hay một ngày tháng thì rườm rà và dễ sai. Dán một chuỗi ví dụ theo định dạng bạn muốn nhận diện: công cụ này đọc nó từ trái sang phải, biến mỗi chuỗi chữ số, chữ hoa và chữ thường thành một lớp ký tự có độ dài phù hợp, và giữ dấu câu cùng ký hiệu làm ký tự literal. Bạn nhận được một mẫu có neo làm điểm khởi đầu để tinh chỉnh thủ công.
Cách hoạt động
-
1
Nhập một ví dụ
Gõ hoặc dán một chuỗi ví dụ đại diện cho định dạng bạn muốn nhận diện, chẳng hạn `Order #12345 placed on 2026-04-16`.
-
2
Tạo mẫu
Công cụ duyệt qua ví dụ từng ký tự và thay mỗi chuỗi cùng loại ký tự bằng một lớp ký tự có độ dài của nó.
-
3
Đọc phần phân tích
Bên dưới mẫu, một danh sách thành phần giải thích từng phần, để bạn thấy phần nào nhận diện chữ số, chữ cái hay văn bản literal.
-
4
Sao chép và tinh chỉnh
Dùng mẫu làm điểm khởi đầu. Điều chỉnh thủ công các độ dài cố định hoặc các lớp để nó bao trọn phạm vi dữ liệu thực của bạn.
Cách mẫu được dựng
Công cụ đọc ví dụ từ trái sang phải. Mỗi khi gặp một chuỗi cùng loại ký tự, nó phát ra một lớp ký tự có kích thước bằng chuỗi đó:
- một chuỗi chữ số trở thành
\d{n}, trong đónlà số lượng chữ số - một chuỗi chữ hoa
A-Ztrở thành[A-Z]{n} - một chuỗi chữ thường
a-ztrở thành[a-z]{n} - một khoảng trắng đơn trở thành
\s, và nhiều khoảng trắng trở thành\s{n} - mọi thứ khác (dấu câu, ký hiệu, chữ có dấu hoặc chữ không thuộc Latinh) được giữ làm ký tự literal được thoát
Mẫu hoàn chỉnh được bao trong ^ và $ để nhận diện toàn bộ chuỗi từ đầu đến cuối, không chỉ một đoạn.
Ví dụ
Với ví dụ Order #12345 placed on 2026-04-16, công cụ tạo ra:
/^[A-Z]{1}[a-z]{4}\s\#\d{5}\s[a-z]{6}\s[a-z]{2}\s\d{4}\-\d{2}\-\d{2}$/
Order là một chữ hoa theo sau bởi bốn chữ thường; 12345 trở thành \d{5}; và ngày 2026-04-16 trở thành \d{4}\-\d{2}\-\d{2}.
Nó làm được và không làm được gì
- Độ dài là cố định.
12345trở thành\d{5}, khớp đúng năm chữ số, không phải “một hoặc nhiều”. Nếu số lượng thay đổi trong dữ liệu của bạn, hãy đổi{5}thành+hoặc một khoảng như{3,8}thủ công. - Nó làm việc từ một ví dụ duy nhất. Nó phản chiếu cấu trúc của chuỗi duy nhất bạn cung cấp, nên không thể tự khái quát từ nhiều ví dụ. Hãy đưa cho nó chuỗi tiêu biểu nhất.
- Chỉ
A-Zvàa-zđược tính là chữ cái. Ký tự có dấu và không thuộc Latinh được giữ làm literal; hãy thay bằng một lớp như\whoặc\p{L}nếu bạn muốn chúng khớp một tập rộng hơn. - Regex không thể diễn đạt mọi thứ. Những thứ như ngoặc cân bằng nằm ngoài tầm với của mọi regex, dù bạn cung cấp bao nhiêu ví dụ. Với cấu trúc lồng nhau bạn cần một trình phân tích, không phải một mẫu.
Một quy trình làm việc tốt
- Tạo một mẫu từ một ví dụ rõ ràng, tiêu biểu.
- Nới lỏng các độ dài cố định (
{5}thành+hoặc{3,8}) ở nơi độ dài thay đổi. - Dán mẫu vào Trình kiểm tra Regex với một tập chuỗi thực lớn hơn.
- Điều chỉnh cho đến khi nó khớp mọi thứ cần khớp và không khớp thứ gì không nên.
Câu hỏi thường gặp
Một. Trình tạo đọc một chuỗi ví dụ duy nhất và phản chiếu cấu trúc của nó. Hãy chọn chuỗi đại diện tốt nhất cho định dạng của bạn, rồi mở rộng mẫu thủ công cho các trường hợp khác.
Công cụ đếm chính xác số ký tự trong ví dụ của bạn, nên năm chữ số trở thành \d{5}. Nếu số lượng thay đổi trong dữ liệu thực, hãy thay {5} bằng +, * hoặc một khoảng như {3,8}.
Các neo khiến mẫu nhận diện toàn bộ chuỗi từ đầu đến cuối. Hãy bỏ chúng nếu bạn muốn tìm mẫu bên trong một đoạn văn bản dài hơn.
Nó nhận diện A-Z và a-z là chữ cái. Mọi ký tự khác, bao gồm chữ có dấu, Kirin hay CJK, được giữ làm literal. Hãy thay thủ công bằng một lớp như \w hoặc \p{L} nếu bạn muốn khớp nhiều hơn.
Cú pháp tiêu chuẩn (\d, [A-Z], {n}) hoạt động không đổi trong PCRE, JavaScript, Python và hầu hết các engine.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình giải mã mã JavaScript (JavaScript Deobfuscator)
Giải mã mã JavaScript đã được rút gọn hoặc nén bằng cách đổi tên biến, giải mã chuỗi và mảng, đảo ngược cấu trúc dòng điều khiển và làm đẹp mã.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Chuyển đổi HTML sang BBCode
Chuyển đổi các đoạn mã HTML thành BBCode dành cho phpBB, vBulletin và các phần mềm diễn đàn khác không hỗ trợ định dạng HTML thô.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- مولّد Regex من عيّنة [AR]
- Générateur de Regex à partir d'un exemple [FR]
- 샘플로 정규식 생성 [KO]
- Generator Regex dari Contoh [ID]
- Regex-Generator aus Beispiel [DE]
- Generator Regex z przykładu [PL]
- Regex-generator uit voorbeeld [NL]
- Regex-generator från exempel [SV]
- ตัวสร้าง Regex จากตัวอย่าง [TH]
- サンプルから正規表現を生成 [JA]
- Generador de Regex a partir de una muestra [ES]
- Gerador de Regex a partir de um exemplo [PT]
- Генератор Regex из примера [RU]
- Örnekten Regex Oluşturucu [TR]
- 从示例生成正则 [ZH]
- Regex Generator from Sample [EN]
- Generatore di Regex da un esempio [IT]