Tester til XSD-regexmønstre
XSD-mønster
Konverteret mønster
^[A-Z]{2}[0-9]{3}$Teststreng
Resultat
AB123XSD-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) |
| \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) |
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|b | Match a or b |
Escape-tegn
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Vigtige forskelle fra 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. |
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 ((?<=...)) 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.