Tester di pattern RegEx XSD
Pattern XSD
Pattern convertito
^[A-Z]{2}[0-9]{3}$Stringa di test
Risultato
AB123Riferimento alla sintassi delle regex XSD
Classi di caratteri
| . | 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) |
Quantificatori
| 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) |
Gruppi
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Caratteri di escape
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Differenze importanti rispetto a 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. |
Dettagli tecnici
Come funziona il tester di pattern regex XSD
Cosa fa lo strumento
Il tester di pattern regex XSD consente di testare i pattern regex di XML Schema Definition (XSD) su un testo di esempio. I pattern regex XSD differiscono dalle regex JavaScript in diversi aspetti importanti: per impostazione predefinita corrispondono all’intera stringa (ancore ^ e $ implicite), non supportano le asserzioni lookahead/lookbehind e hanno regole di sintassi specifiche per la validazione XML. Questo strumento converte i pattern XSD in regex compatibili con JavaScript per i test, spiegando al contempo le differenze. È utile per gli sviluppatori che lavorano con schemi XML, validazione XSD ed elaborazione di dati XML e che devono testare i vincoli di pattern definiti nei file XSD.
Casi d’uso comuni per sviluppatori
Gli sviluppatori usano i tester di pattern XSD quando lavorano con definizioni di XML Schema che includono vincoli regex. I pattern XSD sono comunemente usati per validare il contenuto degli elementi XML, come indirizzi email, date, ID o formati personalizzati. Quando definiscono schemi XSD, gli sviluppatori devono testare i vincoli di pattern per assicurarsi che validino correttamente l’input previsto, rifiutando al contempo i dati non validi. Lo strumento aiuta a verificare che pattern come [A-Z][0-9] corrispondano correttamente a formati come "AB123" ma rifiutino "ab123" o "ABC123". I tester di pattern XSD sono essenziali per lo sviluppo di schemi XML, la validazione dei dati e la conformità agli standard XML.
Differenze principali rispetto alle regex JavaScript
I pattern regex XSD presentano diverse differenze importanti rispetto alle regex JavaScript. Innanzitutto, i pattern XSD corrispondono all’intera stringa per impostazione predefinita, quindi non è necessario aggiungere le ancore ^e $. Il pattern [A-Z] corrisponde automaticamente solo a stringhe che sono esattamente due lettere maiuscole. In secondo luogo, XSD non supporta le asserzioni lookahead ( (?=...)) o lookbehind ( (?<=...)). In terzo luogo, XSD supporta categorie Unicode come \p{L} per le lettere e \p{N} per i numeri, che in JavaScript richiedono il flag Unicode. XSD ha anche sequenze speciali come \i e \c per i caratteri dei nomi XML che non sono disponibili nelle regex JavaScript.
Esempi di pattern XSD
Tra i pattern XSD comuni ci sono formati di data come \d{4}-\d{2}-\d{2} per date YYYY-MM-DD, pattern di identificatore come [A-Z][0-9] per due lettere seguite da tre cifre e pattern Unicode come \p{L}+ per una o più lettere Unicode. Lo strumento mostra come questi pattern vengono convertiti in regex JavaScript e se le stringhe di test corrispondono all’intero pattern (corrispondenza completa) o solo in parte (corrispondenza parziale). Poiché i pattern XSD devono corrispondere all’intera stringa, le corrispondenze parziali indicano che il pattern non valida completamente l’input.
Best practice
Quando testi i pattern XSD, ricorda che validano stringhe intere, non sottostringhe. Un pattern come \d+ corrisponderà solo a stringhe composte interamente da cifre, non a stringhe che contengono cifre. Usa in modo appropriato classi di caratteri e quantificatori: [A-Za-z]+ corrisponde a una o più lettere, mentre [A-Za-z]* corrisponde a zero o più lettere. Per la validazione XML, testa sia input validi sia non validi per assicurarti che i pattern accettino correttamente i dati previsti rifiutando quelli malformati. Lo strumento mostra il pattern regex JavaScript convertito, così puoi vedere come i pattern XSD vengono tradotti a fini di test.