Tester XSD regex obrazaca
XSD obrazac
Konvertovani obrazac
^[A-Z]{2}[0-9]{3}$Test string
Rezultat
AB123Referenca sintakse XSD regularnih izraza
Klase znakova
| . | 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) |
Kvantifikatori
| 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) |
Grupe
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Escape znakovi
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Važne razlike u odnosu na 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. |
Tehnički detalji
Kako radi tester XSD regex obrazaca
Šta alat radi
Tester XSD regex obrazaca omogućava da testirate regex obrasce iz XML Schema Definition (XSD) nad primerom teksta. XSD regex obrasci se razlikuju od JavaScript regex-a na nekoliko važnih načina: podrazumevano pokrivaju ceo string (implicitna sidra ^ i $), ne podržavaju lookahead/lookbehind asercije i imaju specifična sintaksna pravila za XML validaciju. Ovaj alat konvertuje XSD obrasce u regex kompatibilan sa JavaScript-om radi testiranja, uz objašnjenje razlika. Koristan je programerima koji rade sa XML šemama, XSD validacijom i obradom XML podataka i kojima je potrebno da testiraju ograničenja obrazaca definisana u XSD fajlovima.
Uobičajeni slučajevi upotrebe za programere
Programeri koriste testere XSD obrazaca kada rade sa XML Schema definicijama koje uključuju regex ograničenja. XSD obrasci se često koriste za validaciju sadržaja XML elemenata, kao što su imejl adrese, datumi, ID-jevi ili prilagođeni formati. Prilikom definisanja XSD šema, programeri moraju da testiraju ograničenja obrazaca kako bi bili sigurni da ispravno validiraju očekivani unos, a odbijaju nevažeće podatke. Alat pomaže da se proveri da obrasci poput [A-Z][0-9] ispravno odgovaraju formatima kao što je "AB123", ali odbijaju "ab123" ili "ABC123". Testeri XSD obrazaca su ključni za razvoj XML šema, validaciju podataka i obezbeđivanje usklađenosti sa XML standardima.
Ključne razlike u odnosu na JavaScript regex
XSD regex obrasci imaju nekoliko važnih razlika u odnosu na JavaScript regex. Prvo, XSD obrasci podrazumevano poklapaju ceo string, tako da ne morate da dodajete ^and $anchors. Obrazac [A-Z] automatski poklapa samo stringove koji su tačno dva velika slova. Drugo, XSD ne podržava lookahead ( (?=...)) niti lookbehind ( (?<=...)) asercije. Treće, XSD podržava Unicode kategorije kao što su \p{L} za slova i \p{N} za brojeve, što u JavaScript-u zahteva Unicode flag. XSD takođe ima posebne sekvence kao što su \i i \c za XML znakove imena koji nisu dostupni u JavaScript regex-u.
Primeri XSD obrazaca
Uobičajeni XSD obrasci uključuju formate datuma kao što je \d{4}-\d{2}-\d{2} za datume YYYY-MM-DD, obrasce identifikatora kao što je [A-Z][0-9] za dva slova praćena sa tri cifre, i Unicode obrasce kao što je \p{L}+ za jedno ili više Unicode slova. Alat prikazuje kako se ovi obrasci konvertuju u JavaScript regex i da li test stringovi odgovaraju celom obrascu (puno poklapanje) ili samo delimično (delimično poklapanje). Pošto XSD obrasci moraju da poklope ceo string, delimična poklapanja ukazuju da obrazac ne validira u potpunosti unos.
Najbolje prakse
Kada testirate XSD obrasce, imajte na umu da oni validiraju cele stringove, a ne podstringove. Obrazac kao što je \d+ će poklopiti samo stringove koji su u potpunosti cifre, a ne stringove koji sadrže cifre. Koristite klase znakova i kvantifikatore na odgovarajući način: [A-Za-z]+ poklapa jedno ili više slova, dok [A-Za-z]* poklapa nula ili više slova. Za XML validaciju, testirajte i važeće i nevažeće unose kako biste bili sigurni da vaši obrasci ispravno prihvataju očekivane podatke, a odbijaju neispravan unos. Alat prikazuje konvertovani JavaScript regex obrazac kako biste videli kako se XSD obrasci prevode u svrhu testiranja.