DevToys Web Pro iconDevToys Web ProBlog
Bedøm os:
Prøv browserudvidelsen:

Tester til XSD-regexmønstre

XSD-mønster

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

Konverteret mønster

Omtrentlig JavaScript-regex-ækvivalent (kun til visning). Den faktiske matching bruger xspattern-biblioteket for præcis XSD-regex-understøttelse.
^[A-Z]{2}[0-9]{3}$

Teststreng

  • Resultat

    Fuld match
    Hele strengen matcher mønsteret
    Matchet tekst:
    AB123

    XSD-regex syntaksreference

    Tegnklasser

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

    Kvantifikatorer

    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

    Escape-tegn

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

    Vigtige forskelle fra 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.
    Tekniske detaljer

    Sådan fungerer XSD Regex Pattern Tester

    Hvad værktøjet gør

    XSD regex pattern tester giver dig mulighed for at teste XML Schema Definition (XSD)-regexmønstre mod eksempeltekst. XSD-regexmønstre adskiller sig fra JavaScript-regex på flere vigtige måder: De matcher som standard hele strengen (implicitte ^- og $-ankre), understøtter ikke lookahead/lookbehind-assertions og har specifikke syntaksregler til XML-validering. Dette værktøj konverterer XSD-mønstre til JavaScript-kompatible regex til test og forklarer samtidig forskellene. Det er nyttigt for udviklere, der arbejder med XML-skemaer, XSD-validering og behandling af XML-data, og som har behov for at teste mønsterbegrænsninger defineret i XSD-filer.

    Almindelige anvendelsestilfælde for udviklere

    Udviklere bruger XSD pattern testers, når de arbejder med XML Schema-definitioner, der indeholder regex-begrænsninger. XSD-mønstre bruges ofte til at validere indholdet af XML-elementer, såsom e-mailadresser, datoer, id'er eller brugerdefinerede formater. Når udviklere definerer XSD-skemaer, skal de teste deres mønsterbegrænsninger for at sikre, at de korrekt validerer forventet input, samtidig med at de afviser ugyldige data. Værktøjet hjælper med at verificere, at mønstre som [A-Z][0-9] korrekt matcher formater som "AB123", men afviser "ab123" eller "ABC123". XSD pattern testers er essentielle til udvikling af XML-skemaer, datavalidering og sikring af overholdelse af XML-standarder.

    Vigtige forskelle fra JavaScript-regex

    XSD-regexmønstre har flere vigtige forskelle i forhold til JavaScript-regex. For det første matcher XSD-mønstre som standard hele strengen, så du behøver ikke at tilføje ^og $ankre. Mønsteret [A-Z] matcher automatisk kun strenge, der består af præcis to store bogstaver. For det andet understøtter XSD ikke lookahead ((?=...)) eller lookbehind ((?&lt;=...)) assertions. For det tredje understøtter XSD Unicode-kategorier som \p{L} for bogstaver og \p{N} for tal, hvilket kræver Unicode-flaget i JavaScript. XSD har også særlige sekvenser som \i og \c for XML-navnetegn, som ikke er tilgængelige i JavaScript-regex.

    Eksempler på XSD-mønstre

    Almindelige XSD-mønstre omfatter datoformater som \d{4}-\d{2}-\d{2} for datoer i formatet YYYY-MM-DD, identifikatormønstre som [A-Z][0-9] for to bogstaver efterfulgt af tre cifre og Unicode-mønstre som \p{L}+ for et eller flere Unicode-bogstaver. Værktøjet viser, hvordan disse mønstre konverteres til JavaScript-regex, og om teststrenge matcher hele mønsteret (fuldt match) eller kun delvist (delvist match). Da XSD-mønstre skal matche hele strengen, indikerer delvise match, at mønsteret ikke validerer input fuldt ud.

    Bedste praksis

    Når du tester XSD-mønstre, skal du huske, at de validerer hele strenge, ikke delstrenge. Et mønster som \d+ matcher kun strenge, der udelukkende består af cifre, ikke strenge der indeholder cifre. Brug tegnklasser og kvantifikatorer korrekt: [A-Za-z]+ matcher et eller flere bogstaver, mens [A-Za-z]* matcher nul eller flere bogstaver. Til XML-validering bør du teste både gyldige og ugyldige input for at sikre, at dine mønstre korrekt accepterer forventede data og afviser fejlformet input. Værktøjet viser det konverterede JavaScript-regexmønster, så du kan se, hvordan XSD-mønstre oversættes til testformål.