Δοκιμαστής Μοτίβων Regex XSD
Μοτίβο XSD
Μετατρεπόμενο μοτίβο
^[A-Z]{2}[0-9]{3}$Δοκιμαστική συμβολοσειρά
Αποτέλεσμα
AB123Αναφορά σύνταξης XSD Regex
Κλάσεις χαρακτήρων
| . | 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) |
Ποσοδείκτες
| 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) |
Ομάδες
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Χαρακτήρες διαφυγής
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Σημαντικές διαφορές από τη 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. |
Τεχνικές λεπτομέρειες
Πώς λειτουργεί ο Ελεγκτής Μοτίβων Regex XSD
Τι κάνει το εργαλείο
Ο ελεγκτής μοτίβων regex XSD σάς επιτρέπει να δοκιμάζετε μοτίβα regex του XML Schema Definition (XSD) πάνω σε δείγμα κειμένου. Τα μοτίβα regex XSD διαφέρουν από τα regex της JavaScript με αρκετούς σημαντικούς τρόπους: ταιριάζουν ολόκληρη τη συμβολοσειρά από προεπιλογή (σιωπηρά άγκιστρα ^ και $), δεν υποστηρίζουν assertions lookahead/lookbehind και έχουν συγκεκριμένους κανόνες σύνταξης για επικύρωση XML. Αυτό το εργαλείο μετατρέπει μοτίβα XSD σε regex συμβατά με JavaScript για δοκιμή, ενώ εξηγεί τις διαφορές. Είναι χρήσιμο για προγραμματιστές που εργάζονται με σχήματα XML, επικύρωση XSD και επεξεργασία δεδομένων XML και χρειάζονται να δοκιμάσουν περιορισμούς μοτίβων που ορίζονται σε αρχεία XSD.
Συνηθισμένες περιπτώσεις χρήσης για προγραμματιστές
Οι προγραμματιστές χρησιμοποιούν ελεγκτές μοτίβων XSD όταν εργάζονται με ορισμούς XML Schema που περιλαμβάνουν περιορισμούς regex. Τα μοτίβα XSD χρησιμοποιούνται συχνά για την επικύρωση του περιεχομένου στοιχείων XML, όπως διευθύνσεις email, ημερομηνίες, IDs ή προσαρμοσμένες μορφές. Κατά τον ορισμό σχημάτων XSD, οι προγραμματιστές πρέπει να δοκιμάζουν τους περιορισμούς μοτίβων τους ώστε να διασφαλίζουν ότι επικυρώνουν σωστά την αναμενόμενη είσοδο, ενώ απορρίπτουν μη έγκυρα δεδομένα. Το εργαλείο βοηθά να επαληθεύσετε ότι μοτίβα όπως [A-Z][0-9] ταιριάζουν σωστά μορφές όπως "AB123" αλλά απορρίπτουν "ab123" ή "ABC123". Οι ελεγκτές μοτίβων XSD είναι απαραίτητοι για την ανάπτυξη σχημάτων XML, την επικύρωση δεδομένων και τη διασφάλιση συμμόρφωσης με τα πρότυπα XML.
Βασικές διαφορές από τα Regex της JavaScript
Τα μοτίβα regex XSD έχουν αρκετές σημαντικές διαφορές από τα regex της JavaScript. Πρώτον, τα μοτίβα XSD ταιριάζουν ολόκληρη τη συμβολοσειρά από προεπιλογή, οπότε δεν χρειάζεται να προσθέσετε άγκιστρα ^και $. Το μοτίβο [A-Z] ταιριάζει αυτόματα μόνο συμβολοσειρές που είναι ακριβώς δύο κεφαλαία γράμματα. Δεύτερον, το XSD δεν υποστηρίζει assertions lookahead ( (?=...)) ή lookbehind ( (?<=...)). Τρίτον, το XSD υποστηρίζει κατηγορίες Unicode όπως \p{L} για γράμματα και \p{N} για αριθμούς, που απαιτούν τη σημαία Unicode στη JavaScript. Το XSD έχει επίσης ειδικές ακολουθίες όπως \i και \c για χαρακτήρες ονομάτων XML που δεν είναι διαθέσιμες στα regex της JavaScript.
Παραδείγματα Μοτίβων XSD
Συνηθισμένα μοτίβα XSD περιλαμβάνουν μορφές ημερομηνίας όπως \d{4}-\d{2}-\d{2} για ημερομηνίες YYYY-MM-DD, μοτίβα αναγνωριστικών όπως [A-Z][0-9] για δύο γράμματα ακολουθούμενα από τρία ψηφία, και μοτίβα Unicode όπως \p{L}+ για ένα ή περισσότερα γράμματα Unicode. Το εργαλείο δείχνει πώς αυτά τα μοτίβα μετατρέπονται σε regex JavaScript και αν οι δοκιμαστικές συμβολοσειρές ταιριάζουν με ολόκληρο το μοτίβο (πλήρης αντιστοίχιση) ή μόνο μερικώς (μερική αντιστοίχιση). Εφόσον τα μοτίβα XSD πρέπει να ταιριάζουν ολόκληρη τη συμβολοσειρά, οι μερικές αντιστοιχίσεις υποδεικνύουν ότι το μοτίβο δεν επικυρώνει πλήρως την είσοδο.
Βέλτιστες πρακτικές
Κατά τη δοκιμή μοτίβων XSD, να θυμάστε ότι επικυρώνουν ολόκληρες συμβολοσειρές, όχι υποσυμβολοσειρές. Ένα μοτίβο όπως \d+ θα ταιριάξει μόνο συμβολοσειρές που αποτελούνται εξ ολοκλήρου από ψηφία, όχι συμβολοσειρές που περιέχουν ψηφία. Χρησιμοποιήστε κατάλληλα κλάσεις χαρακτήρων και ποσοδείκτες: το [A-Za-z]+ ταιριάζει ένα ή περισσότερα γράμματα, ενώ το [A-Za-z]* ταιριάζει μηδέν ή περισσότερα γράμματα. Για επικύρωση XML, δοκιμάστε τόσο έγκυρες όσο και μη έγκυρες εισόδους ώστε να διασφαλίσετε ότι τα μοτίβα σας αποδέχονται σωστά τα αναμενόμενα δεδομένα, ενώ απορρίπτουν κακοσχηματισμένη είσοδο. Το εργαλείο εμφανίζει το μετατρεπόμενο μοτίβο regex JavaScript ώστε να βλέπετε πώς μεταφράζονται τα μοτίβα XSD για σκοπούς δοκιμής.