XSD Regex raksta testētājs
XSD raksts
Pārveidotais paraugs
^[A-Z]{2}[0-9]{3}$Testa virkne
Rezultāts
AB123XSD regulārās izteiksmes sintakses atsauce
Rakstzīmju klases
| . | 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) |
Grupas
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Atsoļotās rakstzīmes
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Svarīgas atšķirības no 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. |
Tehniskā informācija
Kā darbojas XSD regulāro izteiksmju paraugu testētājs
Ko rīks dara
XSD regulāro izteiksmju paraugu testētājs ļauj pārbaudīt XML shēmas definīcijas (XSD) regulāro iziksmju paraugus pret parauga tekstu. XSD regulārās izteiksmes vairākos būtiskos aspektos atšķiras no JavaScript regulārajām izteiksmēm: pēc noklusējuma tās atbilst visai virknei (netieši ^ un $ enkuri), neatbalsta lookahead/lookbehind apgalvojumus un tām ir specifiski sintakses noteikumi XML validācijai. Šis rīks pārveido XSD paraugus par JavaScript saderīgām regulārajām izteiksmēm testēšanai, vienlaikus izskaidrojot atšķirības. Tas ir noderīgs izstrādātājiem, kas strādā ar XML shēmām, XSD validāciju un XML datu apstrādi un kuriem nepieciešams testēt XSD failos definētos paraugu ierobežojumus.
Biežākie izstrādātāju lietošanas gadījumi
Izstrādātāji izmanto XSD paraugu testētājus, strādājot ar XML shēmu definīcijām, kurās ir regulāro izteiksmju ierobežojumi. XSD paraugus bieži izmanto, lai validētu XML elementu saturu, piemēram, e-pasta adreses, datumus, ID vai pielāgotus formātus. Definējot XSD shēmas, izstrādātājiem ir jāpārbauda paraugu ierobežojumi, lai pārliecinātos, ka tie pareizi validē paredzēto ievadi un vienlaikus noraida nederīgus datus. Rīks palīdz pārbaudīt, ka tādi paraugi kā [A-Z][0-9] pareizi atbilst formātiem, piemēram, "AB123", bet noraida "ab123" vai "ABC123". XSD paraugu testētāji ir būtiski XML shēmu izstrādei, datu validācijai un atbilstības nodrošināšanai XML standartiem.
Galvenās atšķirības no JavaScript regulārajām izteiksmēm
XSD regulāro izteiksmju paraugiem ir vairākas būtiskas atšķirības no JavaScript regulārajām izteiksmēm. Pirmkārt, XSD paraugi pēc noklusējuma atbilst visai virknei, tāpēc nav jāpievieno ^un $enkuri. Paraugs [A-Z] automātiski atbilst tikai virknēm, kas ir tieši divi lielie burti. Otrkārt, XSD neatbalsta lookahead ( (?=...)) vai lookbehind ( (?<=...)) apgalvojumus. Treškārt, XSD atbalsta Unicode kategorijas, piemēram, \p{L} burtiem un \p{N} cipariem, kam JavaScript ir nepieciešams Unicode karodziņš. XSD ir arī īpašas secības, piemēram, \i un \c XML nosaukumu rakstzīmēm, kas nav pieejamas JavaScript regulārajās izteiksmēs.
XSD paraugu piemēri
Bieži sastopami XSD paraugi ietver datumu formātus, piemēram, \d{4}-\d{2}-\d{2} YYYY-MM-DD datumiem, identifikatoru paraugus, piemēram, [A-Z][0-9] diviem burtiem, kam seko trīs cipari, un Unicode paraugus, piemēram, \p{L}+ vienam vai vairākiem Unicode burtiem. Rīks parāda, kā šie paraugi tiek pārveidoti par JavaScript regulārajām izteiksmēm un vai testa virknes atbilst visam paraugam (pilna atbilstība) vai tikai daļēji (daļēja atbilstība). Tā kā XSD paraugiem ir jāatbilst visai virknei, daļējas atbilstības norāda, ka paraugs pilnībā nevalidē ievadi.
Labākā prakse
Testējot XSD paraugus, atcerieties, ka tie validē veselas virknes, nevis apakšvirknes. Paraugs, piemēram, \d+ atbildīs tikai virknēm, kas pilnībā sastāv no cipariem, nevis virknēm, kas satur ciparus. Izmantojiet rakstzīmju klases un kvantifikatorus atbilstoši: [A-Za-z]+ atbilst vienam vai vairākiem burtiem, savukārt [A-Za-z]* atbilst nullei vai vairākiem burtiem. XML validācijai testējiet gan derīgas, gan nederīgas ievades, lai nodrošinātu, ka jūsu paraugi pareizi pieņem paredzētos datus un noraida kļūdaini noformētu ievadi. Rīks parāda pārveidoto JavaScript regulāro izteiksmi, lai jūs varētu redzēt, kā XSD paraugi tiek tulkoti testēšanas vajadzībām.