Trình kiểm thử mẫu Regex XSD
Mẫu XSD
Mẫu đã chuyển đổi
^[A-Z]{2}[0-9]{3}$Chuỗi kiểm tra
Kết quả
AB123Tài liệu tham khảo cú pháp Regex XSD
Lớp ký tự
| . | Any character |
| [abc] | Match a, b, or c |
| [^abc] | Match anything except a, b, c |
| [a-z] | Character range (a to z) |
| \d | Digit (0-9) |
| \D | Non-digit |
| \s | Whitespace |
| \S | Non-whitespace |
| \p{L} | Unicode letter category(\p{L} (with 'u' flag)) |
| \p{N} | Unicode number category(\p{N} (with 'u' flag)) |
| \i | XML initial name character (XSD only, supported by xspattern) |
| \c | XML name character (XSD only, supported by xspattern) |
| [a-z-[aeiou]] | Character class subtraction (XSD only, supported by xspattern) |
Bộ định lượng
| a* | 0 or more |
| a+ | 1 or more |
| a? | 0 or 1 (optional) |
| a{n} | Exactly n times |
| a{n,} | n or more times |
| a{n,m} | Between n and m times |
| a*? | 0 or more (non-greedy) |
| a+? | 1 or more (non-greedy) |
Nhóm
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Ký tự thoát
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Khác biệt quan trọng so với JavaScript
| No anchors | XSD patterns match entire string by default (implicit ^ and $). xspattern handles this correctly. |
| No lookahead/lookbehind | XSD does not support (?=...), (?!...), (?<=...), (?<!...) |
| Unicode categories | XSD supports \p{L}, \p{N}, etc. xspattern supports Unicode 15.0. |
| XML name chars | XSD has \i and \c for XML name characters. xspattern supports these. |
| Character class subtraction | XSD supports [a-z-[aeiou]] syntax. xspattern fully supports this feature. |
Chi tiết kỹ thuật
Cách Trình kiểm thử Mẫu Regex XSD Hoạt động
Công cụ làm gì
Trình kiểm thử mẫu regex XSD cho phép bạn kiểm tra các mẫu regex của XML Schema Definition (XSD) với văn bản mẫu. Regex XSD khác với regex JavaScript ở một số điểm quan trọng: mặc định khớp toàn bộ chuỗi (neo ^ và $ ngầm định), không hỗ trợ khẳng định lookahead/lookbehind, và có các quy tắc cú pháp riêng cho việc xác thực XML. Công cụ này chuyển đổi mẫu XSD sang regex tương thích với JavaScript để kiểm thử, đồng thời giải thích các khác biệt. Công cụ hữu ích cho các nhà phát triển làm việc với lược đồ XML, xác thực XSD và xử lý dữ liệu XML cần kiểm tra các ràng buộc pattern được định nghĩa trong tệp XSD.
Các trường hợp sử dụng phổ biến cho lập trình viên
Nhà phát triển sử dụng trình kiểm thử pattern XSD khi làm việc với các định nghĩa XML Schema có chứa ràng buộc regex. Các pattern XSD thường được dùng để xác thực nội dung phần tử XML, chẳng hạn như địa chỉ email, ngày tháng, ID hoặc các định dạng tùy chỉnh. Khi định nghĩa lược đồ XSD, nhà phát triển cần kiểm tra các ràng buộc pattern để đảm bảo chúng xác thực đúng dữ liệu đầu vào mong đợi đồng thời loại bỏ dữ liệu không hợp lệ. Công cụ giúp xác minh rằng các pattern như [A-Z][0-9] khớp đúng các định dạng như "AB123" nhưng loại "ab123" hoặc "ABC123". Trình kiểm thử pattern XSD là thiết yếu cho phát triển lược đồ XML, xác thực dữ liệu và đảm bảo tuân thủ các tiêu chuẩn XML.
Những Khác biệt Chính so với Regex JavaScript
Regex XSD có một số khác biệt quan trọng so với regex JavaScript. Thứ nhất, pattern XSD mặc định khớp toàn bộ chuỗi, vì vậy bạn không cần thêm neo ^và $. Pattern [A-Z] tự động chỉ khớp các chuỗi đúng bằng hai chữ cái in hoa. Thứ hai, XSD không hỗ trợ khẳng định lookahead ( (?=...)) hoặc lookbehind ( (?<=...)). Thứ ba, XSD hỗ trợ các nhóm Unicode như \p{L} cho chữ cái và \p{N} cho chữ số, vốn cần cờ Unicode trong JavaScript. XSD cũng có các chuỗi đặc biệt như \i và \c cho các ký tự tên XML mà không có trong regex JavaScript.
Ví dụ về Pattern XSD
Các pattern XSD phổ biến bao gồm định dạng ngày như \d{4}-\d{2}-\d{2} cho ngày YYYY-MM-DD, pattern định danh như [A-Z][0-9] cho hai chữ cái theo sau là ba chữ số, và pattern Unicode như \p{L}+ cho một hoặc nhiều chữ cái Unicode. Công cụ cho thấy các pattern này được chuyển đổi sang regex JavaScript như thế nào và liệu chuỗi kiểm thử có khớp toàn bộ pattern (khớp hoàn toàn) hay chỉ khớp một phần (khớp một phần). Vì pattern XSD phải khớp toàn bộ chuỗi, khớp một phần cho thấy pattern không xác thực đầy đủ dữ liệu đầu vào.
Thực hành Tốt nhất
Khi kiểm thử pattern XSD, hãy nhớ rằng chúng xác thực toàn bộ chuỗi, không phải chuỗi con. Một pattern như \d+ sẽ chỉ khớp các chuỗi hoàn toàn là chữ số, không phải chuỗi có chứa chữ số. Hãy dùng lớp ký tự và lượng từ một cách phù hợp: [A-Za-z]+ khớp một hoặc nhiều chữ cái, trong khi [A-Za-z]* khớp không hoặc nhiều chữ cái. Đối với xác thực XML, hãy kiểm thử cả đầu vào hợp lệ và không hợp lệ để đảm bảo pattern của bạn chấp nhận đúng dữ liệu mong đợi đồng thời loại bỏ đầu vào sai định dạng. Công cụ hiển thị pattern regex JavaScript đã được chuyển đổi để bạn có thể thấy cách các pattern XSD được dịch sang phục vụ mục đích kiểm thử.