Testeur de motifs RegEx XSD
Motif XSD
Motif converti
^[A-Z]{2}[0-9]{3}$Chaîne de test
Résultat
AB123Référence de syntaxe des regex XSD
Classes de caractères
| . | 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) |
Quantificateurs
| 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) |
Groupes
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Caractères d’échappement
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Différences importantes par rapport à 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. |
Détails techniques
Comment fonctionne le testeur de motifs Regex XSD
Ce que fait l’outil
Le testeur de motifs regex XSD vous permet de tester des motifs regex de définition de schéma XML (XSD) sur un texte d’exemple. Les motifs regex XSD diffèrent des regex JavaScript de plusieurs façons importantes : ils correspondent à la chaîne entière par défaut (ancres implicites ^ et $), ne prennent pas en charge les assertions lookahead/lookbehind, et ont des règles de syntaxe spécifiques pour la validation XML. Cet outil convertit les motifs XSD en regex compatibles JavaScript pour les tests, tout en expliquant les différences. Il est utile aux développeurs travaillant avec des schémas XML, la validation XSD et le traitement de données XML, qui doivent tester les contraintes de motif définies dans des fichiers XSD.
Cas d’usage courants pour les développeurs
Les développeurs utilisent des testeurs de motifs XSD lorsqu’ils travaillent avec des définitions de schéma XML qui incluent des contraintes regex. Les motifs XSD sont couramment utilisés pour valider le contenu des éléments XML, comme les adresses e-mail, les dates, les identifiants ou des formats personnalisés. Lors de la définition de schémas XSD, les développeurs doivent tester leurs contraintes de motif afin de s’assurer qu’elles valident correctement les entrées attendues tout en rejetant les données invalides. L’outil aide à vérifier que des motifs comme [A-Z][0-9] correspondent correctement à des formats comme "AB123" mais rejettent "ab123" ou "ABC123". Les testeurs de motifs XSD sont essentiels pour le développement de schémas XML, la validation des données et le respect des standards XML.
Principales différences avec les regex JavaScript
Les motifs regex XSD présentent plusieurs différences importantes par rapport aux regex JavaScript. D’abord, les motifs XSD correspondent à la chaîne entière par défaut, il n’est donc pas nécessaire d’ajouter des ancres ^et $. Le motif [A-Z] correspond automatiquement uniquement aux chaînes qui sont exactement deux lettres majuscules. Ensuite, XSD ne prend pas en charge les assertions lookahead ( (?=...)) ni lookbehind ( (?<=...)). Enfin, XSD prend en charge des catégories Unicode comme \p{L} pour les lettres et \p{N} pour les nombres, ce qui nécessite le drapeau Unicode en JavaScript. XSD possède également des séquences spéciales comme \i et \c pour les caractères de nom XML qui ne sont pas disponibles dans les regex JavaScript.
Exemples de motifs XSD
Les motifs XSD courants incluent des formats de date comme \d{4}-\d{2}-\d{2} pour les dates AAAA-MM-JJ, des motifs d’identifiant comme [A-Z][0-9] pour deux lettres suivies de trois chiffres, et des motifs Unicode comme \p{L}+ pour une ou plusieurs lettres Unicode. L’outil montre comment ces motifs sont convertis en regex JavaScript et si les chaînes de test correspondent à l’ensemble du motif (correspondance complète) ou seulement partiellement (correspondance partielle). Comme les motifs XSD doivent correspondre à la chaîne entière, les correspondances partielles indiquent que le motif ne valide pas entièrement l’entrée.
Bonnes pratiques
Lors du test de motifs XSD, gardez à l’esprit qu’ils valident des chaînes entières, et non des sous-chaînes. Un motif comme \d+ ne correspondra qu’aux chaînes composées uniquement de chiffres, et non aux chaînes contenant des chiffres. Utilisez correctement les classes de caractères et les quantificateurs : [A-Za-z]+ correspond à une ou plusieurs lettres, tandis que [A-Za-z]* correspond à zéro ou plusieurs lettres. Pour la validation XML, testez à la fois des entrées valides et invalides afin de vous assurer que vos motifs acceptent correctement les données attendues tout en rejetant les entrées mal formées. L’outil affiche le motif regex JavaScript converti afin que vous puissiez voir comment les motifs XSD sont traduits à des fins de test.