XSD Regex-patroontester
XSD-patroon
Geconverteerd patroon
^[A-Z]{2}[0-9]{3}$Testtekst
Resultaat
AB123XSD-regexsyntaxreferentie
Tekenklassen
| . | 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) |
Kwantoren
| 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) |
Groepen
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Geëscapete tekens
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Belangrijke verschillen met 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. |
Technische details
Hoe de XSD-regexpatroontester werkt
Wat de tool doet
Met de XSD-regexpatroontester kun je regexpatronen uit XML Schema Definition (XSD) testen tegen voorbeeldtekst. XSD-regexpatronen verschillen op een aantal belangrijke punten van JavaScript-regex: ze matchen standaard de volledige string (impliciete ^- en $-ankers), ondersteunen geen lookahead/lookbehind-asserties en hebben specifieke syntaxisregels voor XML-validatie. Deze tool zet XSD-patronen om naar JavaScript-compatibele regex voor testdoeleinden en legt daarbij de verschillen uit. Dit is handig voor ontwikkelaars die werken met XML-schema’s, XSD-validatie en XML-dataverwerking en die patroonrestricties uit XSD-bestanden willen testen.
Veelvoorkomende use-cases voor ontwikkelaars
Ontwikkelaars gebruiken XSD-patroontesters bij het werken met XML Schema-definities die regexrestricties bevatten. XSD-patronen worden vaak gebruikt om de inhoud van XML-elementen te valideren, zoals e-mailadressen, datums, ID’s of aangepaste formaten. Bij het definiëren van XSD-schema’s moeten ontwikkelaars hun patroonrestricties testen om te zorgen dat ze de verwachte invoer correct valideren en ongeldige data afwijzen. De tool helpt verifiëren dat patronen zoals [A-Z][0-9] formaten zoals "AB123" correct matchen, maar "ab123" of "ABC123" afwijzen. XSD-patroontesters zijn essentieel voor XML-schemaontwikkeling, datavalidatie en het waarborgen van naleving van XML-standaarden.
Belangrijkste verschillen met JavaScript-regex
XSD-regexpatronen hebben een aantal belangrijke verschillen ten opzichte van JavaScript-regex. Ten eerste matchen XSD-patronen standaard de volledige string, dus je hoeft geen ^en $ankers toe te voegen. Het patroon [A-Z] matcht automatisch alleen strings die precies uit twee hoofdletters bestaan. Ten tweede ondersteunt XSD geen lookahead- ((?=...)) of lookbehind- ((?<=...)) asserties. Ten derde ondersteunt XSD Unicode-categorieën zoals \p{L} voor letters en \p{N} voor cijfers, waarvoor in JavaScript de Unicode-flag nodig is. XSD heeft ook speciale reeksen zoals \i en \c voor XML-naamtekens die niet beschikbaar zijn in JavaScript-regex.
Voorbeelden van XSD-patronen
Veelvoorkomende XSD-patronen zijn onder andere datumformaten zoals \d{4}-\d{2}-\d{2} voor datums in YYYY-MM-DD, identificatorpatronen zoals [A-Z][0-9] voor twee letters gevolgd door drie cijfers, en Unicode-patronen zoals \p{L}+ voor één of meer Unicode-letters. De tool laat zien hoe deze patronen worden omgezet naar JavaScript-regex en of teststrings het volledige patroon matchen (volledige match) of slechts gedeeltelijk (gedeeltelijke match). Omdat XSD-patronen de volledige string moeten matchen, geven gedeeltelijke matches aan dat het patroon de invoer niet volledig valideert.
Best practices
Onthoud bij het testen van XSD-patronen dat ze volledige strings valideren, niet substrings. Een patroon zoals \d+ matcht alleen strings die volledig uit cijfers bestaan, niet strings die cijfers bevatten. Gebruik tekenklassen en kwantificatoren op de juiste manier: [A-Za-z]+ matcht één of meer letters, terwijl [A-Za-z]* nul of meer letters matcht. Test voor XML-validatie zowel geldige als ongeldige invoer om te zorgen dat je patronen de verwachte data accepteren en misvormde invoer afwijzen. De tool toont het omgezette JavaScript-regexpatroon, zodat je kunt zien hoe XSD-patronen voor testdoeleinden worden vertaald.