XSD regex šablonų testuotojas
XSD šablonas
Konvertuotas šablonas
^[A-Z]{2}[0-9]{3}$Testo eilutė
Rezultatas
AB123XSD reguliariųjų išraiškų sintaksės nuoroda
Simbolių klasės
| . | 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) |
Kvantifikatoriai
| 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) |
Grupės
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Ekranuoti simboliai
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Svarbūs skirtumai nuo 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. |
Techninė informacija
Kaip veikia XSD reguliariųjų išraiškų šablonų testuoklis
Ką daro įrankis
XSD reguliariųjų išraiškų šablonų testuoklis leidžia testuoti XML schemos aprašo (XSD) reguliariųjų išraiškų šablonus su pavyzdiniu tekstu. XSD reguliariosios išraiškos keliais svarbiais aspektais skiriasi nuo JavaScript regex: pagal nutylėjimą jos atitinka visą eilutę (numanomi ^ ir $ inkarai), nepalaiko lookahead/lookbehind teiginių ir turi specifines sintaksės taisykles XML validacijai. Šis įrankis konvertuoja XSD šablonus į su JavaScript suderinamas reguliariąsias išraiškas testavimui, kartu paaiškindamas skirtumus. Jis naudingas kūrėjams, dirbantiems su XML schemomis, XSD validacija ir XML duomenų apdorojimu, kuriems reikia išbandyti XSD failuose apibrėžtus šablonų apribojimus.
Dažniausi kūrėjų naudojimo atvejai
Kūrėjai naudoja XSD šablonų testuoklius dirbdami su XML schemų aprašais, kuriuose yra regex apribojimų. XSD šablonai dažnai naudojami XML elementų turiniui validuoti, pavyzdžiui, el. pašto adresams, datoms, ID ar pasirinktiniams formatams. Apibrėžiant XSD schemas, kūrėjams reikia ištestuoti šablonų apribojimus, kad įsitikintų, jog jie teisingai validuoja laukiamą įvestį ir atmeta neteisingus duomenis. Įrankis padeda patikrinti, ar tokie šablonai kaip [A-Z][0-9] teisingai atitinka formatus, pvz., "AB123", bet atmeta "ab123" ar "ABC123". XSD šablonų testuokliai yra būtini XML schemų kūrimui, duomenų validacijai ir atitikčiai XML standartams užtikrinti.
Pagrindiniai skirtumai nuo JavaScript regex
XSD reguliariųjų išraiškų šablonai turi kelis svarbius skirtumus nuo JavaScript regex. Pirma, XSD šablonai pagal nutylėjimą atitinka visą eilutę, todėl nereikia pridėti ^ir $inkarų. Šablonas [A-Z] automatiškai atitinka tik tas eilutes, kurios yra tiksliai dvi didžiosios raidės. Antra, XSD nepalaiko lookahead ( (?=...)) ar lookbehind ( (?<=...)) teiginių. Trečia, XSD palaiko Unicode kategorijas, pvz., \p{L} raidėms ir \p{N} skaičiams, kurioms JavaScript reikia Unicode vėliavėlės. XSD taip pat turi specialias sekas, tokias kaip \i ir \c, skirtas XML vardo simboliams, kurių JavaScript regex neturi.
XSD šablonų pavyzdžiai
Dažni XSD šablonai apima datų formatus, pvz., \d{4}-\d{2}-\d{2} YYYY-MM-DD datoms, identifikatorių šablonus, pvz., [A-Z][0-9] dviem raidėms, po kurių seka trys skaitmenys, ir Unicode šablonus, pvz., \p{L}+ vienai ar daugiau Unicode raidžių. Įrankis parodo, kaip šie šablonai konvertuojami į JavaScript regex ir ar testinės eilutės atitinka visą šabloną (pilnas atitikimas), ar tik iš dalies (dalinis atitikimas). Kadangi XSD šablonai turi atitikti visą eilutę, daliniai atitikimai rodo, kad šablonas pilnai nevaliduoja įvesties.
Geriausios praktikos
Testuodami XSD šablonus, prisiminkite, kad jie validuoja visas eilutes, o ne poeilutes. Šablonas, pvz., \d+ atitiks tik tas eilutes, kurios sudarytos vien iš skaitmenų, o ne eilutes, kuriose yra skaitmenų. Tinkamai naudokite simbolių klases ir kvantifikatorius: [A-Za-z]+ atitinka vieną ar daugiau raidžių, o [A-Za-z]* atitinka nulį ar daugiau raidžių. XML validacijai testuokite tiek teisingą, tiek neteisingą įvestį, kad įsitikintumėte, jog šablonai priima laukiamus duomenis ir atmeta netaisyklingą įvestį. Įrankis rodo konvertuotą JavaScript regex šabloną, kad matytumėte, kaip XSD šablonai verčiami testavimo tikslais.