Testare för XSD-regexmönster
XSD-mönster
Konverterat mönster
^[A-Z]{2}[0-9]{3}$Teststräng
Resultat
AB123Syntaxreferens 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) |
| \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) |
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|b | Match a or b |
Escapade tecken
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Viktiga skillnader jämfört med 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. |
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- ((?<=...)) 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.