DevToys Web Pro iconDevToys Web ProBlog
Beoordeel ons:
Probeer de browserextensie:

XSD Regex-patroontester

XSD-patroon

XSD patterns match the entire string by default (implicit ^ and $). Using xspattern for accurate XSD regex matching.

Geconverteerd patroon

Benaderende JavaScript-regex-equivalent (alleen voor weergave). Het daadwerkelijke matchen gebruikt de xspattern-bibliotheek voor nauwkeurige XSD-regexondersteuning.
^[A-Z]{2}[0-9]{3}$

Testtekst

  • Resultaat

    Volledige overeenkomst
    De volledige tekenreeks komt overeen met het patroon
    Overeenkomende tekst:
    AB123

    XSD-regexsyntaxreferentie

    Tekenklassen

    .Any character
    [abc]Match a, b, or c
    [^abc]Match anything except a, b, c
    [a-z]Character range (a to z)
    \dDigit (0-9)
    \DNon-digit
    \sWhitespace
    \SNon-whitespace
    \p{L}Unicode letter category(\p{L} (with 'u' flag))
    \p{N}Unicode number category(\p{N} (with 'u' flag))
    \iXML initial name character (XSD only, supported by xspattern)
    \cXML 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|bMatch a or b

    Geëscapete tekens

    \tTab
    \nNewline
    \rCarriage return
    \xhhHex character
    \uhhhhUnicode character

    Belangrijke verschillen met JavaScript

    No anchorsXSD patterns match entire string by default (implicit ^ and $). xspattern handles this correctly.
    No lookahead/lookbehindXSD does not support (?=...), (?!...), (?<=...), (?<!...)
    Unicode categoriesXSD supports \p{L}, \p{N}, etc. xspattern supports Unicode 15.0.
    XML name charsXSD has \i and \c for XML name characters. xspattern supports these.
    Character class subtractionXSD 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- ((?&lt;=...)) 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.