Tester for XSD-regex-mønstre
XSD-mønster
Konvertert mønster
^[A-Z]{2}[0-9]{3}$Teststreng
Resultat
AB123Referanse for XSD-regexsyntaks
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 |
Viktige forskjeller 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
Slik fungerer XSD-regexmønstertesteren
Hva verktøyet gjør
XSD-regexmønstertesteren lar deg teste regexmønstre i XML Schema Definition (XSD) mot eksempeltekst. XSD-regexmønstre skiller seg fra JavaScript-regex på flere viktige måter: de matcher hele strengen som standard (implisitte ^- og $-ankre), støtter ikke lookahead/lookbehind-assertions, og har spesifikke syntaksregler for XML-validering. Dette verktøyet konverterer XSD-mønstre til JavaScript-kompatible regex for testing, samtidig som det forklarer forskjellene. Det er nyttig for utviklere som jobber med XML-skjemaer, XSD-validering og behandling av XML-data, og som trenger å teste mønsterbegrensninger definert i XSD-filer.
Vanlige bruksområder for utviklere
Utviklere bruker XSD-mønstertestere når de jobber med XML Schema-definisjoner som inkluderer regex-begrensninger. XSD-mønstre brukes ofte til å validere innholdet i XML-elementer, som e-postadresser, datoer, ID-er eller egendefinerte formater. Når utviklere definerer XSD-skjemaer, må de teste mønsterbegrensningene sine for å sikre at de validerer forventet input korrekt, samtidig som de avviser ugyldige data. Verktøyet hjelper med å verifisere at mønstre som [A-Z][0-9] matcher formater som "AB123", men avviser "ab123" eller "ABC123". XSD-mønstertestere er essensielle for utvikling av XML-skjemaer, datavalidering og for å sikre samsvar med XML-standarder.
Viktige forskjeller fra JavaScript-regex
XSD-regexmønstre har flere viktige forskjeller fra JavaScript-regex. For det første matcher XSD-mønstre hele strengen som standard, så du trenger ikke å legge til ^og $ankre. Mønsteret [A-Z] matcher automatisk bare strenger som er nøyaktig to store bokstaver. For det andre støtter ikke XSD lookahead ((?=...)) eller lookbehind ((?<=...)) assertions. For det tredje støtter XSD Unicode-kategorier som \p{L} for bokstaver og \p{N} for tall, som krever Unicode-flagget i JavaScript. XSD har også spesialsekvenser som \i og \c for XML-navnetegn som ikke er tilgjengelige i JavaScript-regex.
Eksempler på XSD-mønstre
Vanlige XSD-mønstre inkluderer datoformater som \d{4}-\d{2}-\d{2} for datoer i formatet YYYY-MM-DD, identifikatormønstre som [A-Z][0-9] for to bokstaver etterfulgt av tre sifre, og Unicode-mønstre som \p{L}+ for én eller flere Unicode-bokstaver. Verktøyet viser hvordan disse mønstrene konverteres til JavaScript-regex, og om teststrenger matcher hele mønsteret (full match) eller bare delvis (partial match). Siden XSD-mønstre må matche hele strengen, indikerer delvise treff at mønsteret ikke validerer input fullt ut.
Beste praksis
Når du tester XSD-mønstre, husk at de validerer hele strenger, ikke delstrenger. Et mønster som \d+ vil bare matche strenger som utelukkende består av sifre, ikke strenger som inneholder sifre. Bruk tegnklasser og kvantifikatorer riktig: [A-Za-z]+ matcher én eller flere bokstaver, mens [A-Za-z]* matcher null eller flere bokstaver. For XML-validering bør du teste både gyldige og ugyldige input for å sikre at mønstrene dine korrekt godtar forventede data og avviser feilformatert input. Verktøyet viser det konverterte JavaScript-regexmønsteret slik at du kan se hvordan XSD-mønstre oversettes for testformål.