XSD-Regex-Pattern-Tester
XSD-Muster
Konvertiertes Muster
^[A-Z]{2}[0-9]{3}$Testzeichenfolge
Ergebnis
AB123XSD-Regex-Syntaxreferenz
Zeichenklassen
| . | 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) |
Quantifizierer
| 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) |
Gruppen
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Escape-Zeichen
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Wichtige Unterschiede zu 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. |
Technische Details
So funktioniert der XSD-Regex-Pattern-Tester
Was das Tool macht
Der XSD-Regex-Pattern-Tester ermöglicht es Ihnen, Regex-Patterns aus XML Schema Definition (XSD) anhand von Beispieltext zu testen. XSD-Regex-Patterns unterscheiden sich in mehreren wichtigen Punkten von JavaScript-Regex: Sie matchen standardmäßig die gesamte Zeichenkette (implizite ^- und $-Anker), unterstützen keine Lookahead-/Lookbehind-Assertions und haben spezifische Syntaxregeln für die XML-Validierung. Dieses Tool konvertiert XSD-Patterns zu JavaScript-kompatiblen Regex zum Testen und erklärt dabei die Unterschiede. Es ist nützlich für Entwickler, die mit XML-Schemas, XSD-Validierung und XML-Datenverarbeitung arbeiten und Pattern-Constraints testen müssen, die in XSD-Dateien definiert sind.
Häufige Anwendungsfälle für Entwickler
Entwickler verwenden XSD-Pattern-Tester, wenn sie mit XML-Schema-Definitionen arbeiten, die Regex-Constraints enthalten. XSD-Patterns werden häufig verwendet, um den Inhalt von XML-Elementen zu validieren, z. B. E-Mail-Adressen, Datumsangaben, IDs oder benutzerdefinierte Formate. Beim Definieren von XSD-Schemas müssen Entwickler ihre Pattern-Constraints testen, um sicherzustellen, dass sie erwartete Eingaben korrekt validieren und gleichzeitig ungültige Daten zurückweisen. Das Tool hilft zu überprüfen, dass Patterns wie [A-Z][0-9] Formate wie "AB123" korrekt matchen, aber "ab123" oder "ABC123" zurückweisen. XSD-Pattern-Tester sind essenziell für die Entwicklung von XML-Schemas, Datenvalidierung und die Sicherstellung der Konformität mit XML-Standards.
Wichtige Unterschiede zu JavaScript-Regex
XSD-Regex-Patterns weisen mehrere wichtige Unterschiede zu JavaScript-Regex auf. Erstens matchen XSD-Patterns standardmäßig die gesamte Zeichenkette, sodass Sie keine ^und $Anker hinzufügen müssen. Das Pattern [A-Z] matcht automatisch nur Zeichenketten, die genau aus zwei Großbuchstaben bestehen. Zweitens unterstützt XSD keine Lookahead- ((?=...)) oder Lookbehind- ((?<=...)) Assertions. Drittens unterstützt XSD Unicode-Kategorien wie \p{L} für Buchstaben und \p{N} für Zahlen, die in JavaScript das Unicode-Flag erfordern. XSD hat außerdem spezielle Sequenzen wie \i und \c für XML-Namenszeichen, die in JavaScript-Regex nicht verfügbar sind.
Beispiele für XSD-Patterns
Gängige XSD-Patterns umfassen Datumsformate wie \d{4}-\d{2}-\d{2} für YYYY-MM-DD-Daten, Bezeichner-Patterns wie [A-Z][0-9] für zwei Buchstaben gefolgt von drei Ziffern sowie Unicode-Patterns wie \p{L}+ für einen oder mehrere Unicode-Buchstaben. Das Tool zeigt, wie diese Patterns in JavaScript-Regex konvertiert werden und ob Testzeichenketten das gesamte Pattern matchen (vollständiger Match) oder nur teilweise (teilweiser Match). Da XSD-Patterns die gesamte Zeichenkette matchen müssen, deuten Teilmatches darauf hin, dass das Pattern die Eingabe nicht vollständig validiert.
Bewährte Praktiken
Beim Testen von XSD-Patterns sollten Sie daran denken, dass sie ganze Zeichenketten validieren, nicht Teilzeichenketten. Ein Pattern wie \d+ matcht nur Zeichenketten, die vollständig aus Ziffern bestehen, nicht Zeichenketten, die Ziffern enthalten. Verwenden Sie Zeichenklassen und Quantifizierer passend: [A-Za-z]+ matcht einen oder mehrere Buchstaben, während [A-Za-z]* null oder mehr Buchstaben matcht. Für die XML-Validierung testen Sie sowohl gültige als auch ungültige Eingaben, um sicherzustellen, dass Ihre Patterns erwartete Daten korrekt akzeptieren und fehlerhafte Eingaben zurückweisen. Das Tool zeigt das konvertierte JavaScript-Regex-Pattern an, damit Sie sehen können, wie XSD-Patterns zu Testzwecken übersetzt werden.