Tester de tipare RegEx XSD
Model XSD
Pattern convertit
^[A-Z]{2}[0-9]{3}$Șir de test
Rezultat
AB123Referință de sintaxă pentru regex XSD
Clase de caractere
| . | 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) |
Cuantificatori
| 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) |
Grupuri
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Caractere escape
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Diferențe importante față de 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. |
Detalii tehnice
Cum funcționează testerul de tipar Regex XSD
Ce face instrumentul
Testerul de tipar regex XSD îți permite să testezi tipare regex din XML Schema Definition (XSD) pe un text de exemplu. Tiparele regex XSD diferă de regex-ul JavaScript în câteva moduri importante: potrivesc întregul șir în mod implicit (ancore ^ și $ implicite), nu suportă aserțiuni de tip lookahead/lookbehind și au reguli de sintaxă specifice pentru validarea XML. Acest instrument convertește tiparele XSD în regex compatibil cu JavaScript pentru testare, explicând în același timp diferențele. Este util pentru dezvoltatorii care lucrează cu scheme XML, validare XSD și procesarea datelor XML și care au nevoie să testeze constrângerile de tipar definite în fișiere XSD.
Cazuri de utilizare comune pentru dezvoltatori
Dezvoltatorii folosesc testere de tipar XSD atunci când lucrează cu definiții XML Schema care includ constrângeri regex. Tiparele XSD sunt folosite frecvent pentru a valida conținutul elementelor XML, precum adrese de e-mail, date, ID-uri sau formate personalizate. La definirea schemelor XSD, dezvoltatorii trebuie să-și testeze constrângerile de tipar pentru a se asigura că validează corect intrările așteptate, respingând în același timp datele invalide. Instrumentul ajută la verificarea faptului că tipare precum [A-Z][0-9] potrivesc corect formate precum "AB123", dar resping "ab123" sau "ABC123". Testerele de tipar XSD sunt esențiale pentru dezvoltarea schemelor XML, validarea datelor și asigurarea conformității cu standardele XML.
Diferențe cheie față de Regex-ul JavaScript
Tiparele regex XSD au câteva diferențe importante față de regex-ul JavaScript. În primul rând, tiparele XSD potrivesc întregul șir în mod implicit, așa că nu trebuie să adaugi ancorele ^ și $. Tiparul [A-Z] potrivește automat doar șirurile care sunt exact două litere mari. În al doilea rând, XSD nu suportă aserțiuni de tip lookahead ((?=...)) sau lookbehind ((?<=...)). În al treilea rând, XSD suportă categorii Unicode precum \p{L} pentru litere și \p{N} pentru numere, care necesită flag-ul Unicode în JavaScript. XSD are și secvențe speciale precum \i și \c pentru caracterele de nume XML, care nu sunt disponibile în regex-ul JavaScript.
Exemple de tipare XSD
Tiparele XSD comune includ formate de dată precum \d{4}-\d{2}-\d{2} pentru date de tip YYYY-MM-DD, tipare de identificator precum [A-Z][0-9] pentru două litere urmate de trei cifre și tipare Unicode precum \p{L}+ pentru una sau mai multe litere Unicode. Instrumentul arată cum sunt convertite aceste tipare în regex JavaScript și dacă șirurile de test se potrivesc cu întregul tipar (potrivire completă) sau doar parțial (potrivire parțială). Deoarece tiparele XSD trebuie să potrivească întregul șir, potrivirile parțiale indică faptul că tiparul nu validează complet intrarea.
Bune practici
Când testezi tipare XSD, reține că ele validează șiruri întregi, nu subșiruri. Un tipar precum \d+ va potrivi doar șirurile formate în întregime din cifre, nu șirurile care conțin cifre. Folosește clasele de caractere și cuantificatorii în mod adecvat: [A-Za-z]+ potrivește una sau mai multe litere, în timp ce [A-Za-z]* potrivește zero sau mai multe litere. Pentru validarea XML, testează atât intrări valide, cât și invalide, pentru a te asigura că tiparele tale acceptă corect datele așteptate și resping intrările greșite. Instrumentul afișează tiparul regex JavaScript convertit, astfel încât să poți vedea cum sunt traduse tiparele XSD în scopuri de testare.