DevToys Web Pro iconDevToys Web ProBlogg
Betygsätt oss:
Prova webbläsartillägget:

Testare för XSD-regexmönster

XSD-mönster

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

Konverterat mönster

Ungefärlig JavaScript-regexmotsvarighet (endast för visning). Den faktiska matchningen använder xspattern-biblioteket för korrekt stöd för XSD-regex.
^[A-Z]{2}[0-9]{3}$

Teststräng

  • Resultat

    Fullständig matchning
    Hela strängen matchar mönstret
    Matchad text:
    AB123

    Syntaxreferens för XSD-regex

    Teckenklasser

    .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)

    Kvantifierare

    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)

    Grupper

    (abc)Capturing group
    (?:abc)Non-capturing group
    a|bMatch a or b

    Escapade tecken

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

    Viktiga skillnader jämfört med 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.
    Tekniska detaljer

    Så fungerar testverktyget för XSD-regexmönster

    Vad verktyget gör

    Testverktyget för XSD-regexmönster låter dig testa regexmönster i XML Schema Definition (XSD) mot exempeltext. XSD-regexmönster skiljer sig från JavaScript-regex på flera viktiga sätt: de matchar hela strängen som standard (implicita ^- och $-ankare), stöder inte lookahead/lookbehind-assertioner och har specifika syntaxregler för XML-validering. Det här verktyget konverterar XSD-mönster till JavaScript-kompatibla regex för testning samtidigt som det förklarar skillnaderna. Det är användbart för utvecklare som arbetar med XML-scheman, XSD-validering och XML-databearbetning och som behöver testa mönsterbegränsningar som definieras i XSD-filer.

    Vanliga användningsfall för utvecklare

    Utvecklare använder XSD-mönstertestare när de arbetar med XML Schema-definitioner som innehåller regexbegränsningar. XSD-mönster används ofta för att validera innehåll i XML-element, till exempel e-postadresser, datum, ID:n eller anpassade format. När man definierar XSD-scheman behöver utvecklare testa sina mönsterbegränsningar för att säkerställa att de korrekt validerar förväntad indata samtidigt som de avvisar ogiltiga data. Verktyget hjälper till att verifiera att mönster som [A-Z][0-9] korrekt matchar format som "AB123" men avvisar "ab123" eller "ABC123". XSD-mönstertestare är viktiga för utveckling av XML-scheman, datavalidering och för att säkerställa efterlevnad av XML-standarder.

    Viktiga skillnader jämfört med JavaScript-regex

    XSD-regexmönster har flera viktiga skillnader jämfört med JavaScript-regex. För det första matchar XSD-mönster hela strängen som standard, så du behöver inte lägga till ^och $ankare. Mönstret [A-Z] matchar automatiskt endast strängar som består av exakt två versaler. För det andra stöder XSD inte lookahead- ((?=...)) eller lookbehind- ((?&lt;=...)) assertioner. För det tredje stöder XSD Unicode-kategorier som \p{L} för bokstäver och \p{N} för siffror, vilket kräver Unicode-flaggan i JavaScript. XSD har också specialsekvenser som \i och \c för XML-namntecken som inte finns i JavaScript-regex.

    Exempel på XSD-mönster

    Vanliga XSD-mönster inkluderar datumformat som \d{4}-\d{2}-\d{2} för datum i formatet ÅÅÅÅ-MM-DD, identifierarmönster som [A-Z][0-9] för två bokstäver följt av tre siffror, samt Unicode-mönster som \p{L}+ för en eller flera Unicode-bokstäver. Verktyget visar hur dessa mönster konverteras till JavaScript-regex och om teststrängar matchar hela mönstret (fullständig matchning) eller bara delvis (partiell matchning). Eftersom XSD-mönster måste matcha hela strängen indikerar partiella matchningar att mönstret inte validerar indata fullt ut.

    Bästa praxis

    När du testar XSD-mönster, kom ihåg att de validerar hela strängar, inte delsträngar. Ett mönster som \d+ matchar endast strängar som helt och hållet består av siffror, inte strängar som innehåller siffror. Använd teckenklasser och kvantifierare på rätt sätt: [A-Za-z]+ matchar en eller flera bokstäver, medan [A-Za-z]* matchar noll eller flera bokstäver. För XML-validering, testa både giltiga och ogiltiga indata för att säkerställa att dina mönster korrekt accepterar förväntade data samtidigt som de avvisar felaktig indata. Verktyget visar det konverterade JavaScript-regexmönstret så att du kan se hur XSD-mönster översätts för teständamål.