Preizkuševalnik vzorcev XSD Regex
Vzorec XSD
Pretvorjen vzorec
^[A-Z]{2}[0-9]{3}$Testni niz
Rezultat
AB123Referenca sintakse XSD regex
Znakovni razredi
| . | 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) |
Kvantifikatorji
| 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) |
Skupine
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Ubežni znaki
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Pomembne razlike v primerjavi z JavaScriptom
| 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čne podrobnosti
Kako deluje preizkuševalnik vzorcev XSD Regex
Kaj orodje počne
Preizkuševalnik vzorcev XSD regex vam omogoča testiranje regex vzorcev iz XML Schema Definition (XSD) proti vzorčnemu besedilu. XSD regex vzorci se od JavaScript regex razlikujejo na več pomembnih načinov: privzeto ujemajo celoten niz (implicitna sidra ^ in $), ne podpirajo lookahead/lookbehind trditev in imajo posebna sintaktična pravila za XML validacijo. To orodje pretvori XSD vzorce v z JavaScriptom združljive regexe za testiranje, hkrati pa pojasni razlike. Uporabno je za razvijalce, ki delajo z XML shemami, XSD validacijo in obdelavo XML podatkov ter morajo testirati omejitve vzorcev, definirane v XSD datotekah.
Pogosti primeri uporabe za razvijalce
Razvijalci uporabljajo preizkuševalnike XSD vzorcev pri delu z definicijami XML Schema, ki vključujejo regex omejitve. XSD vzorci se pogosto uporabljajo za validacijo vsebine XML elementov, kot so e-poštni naslovi, datumi, ID-ji ali prilagojeni formati. Pri definiranju XSD shem morajo razvijalci preizkusiti svoje omejitve vzorcev, da zagotovijo, da pravilno validirajo pričakovani vnos in hkrati zavrnejo neveljavne podatke. Orodje pomaga preveriti, da vzorci, kot je [A-Z][0-9], pravilno ujemajo formate, kot je "AB123", vendar zavrnejo "ab123" ali "ABC123". Preizkuševalniki XSD vzorcev so ključni za razvoj XML shem, validacijo podatkov in zagotavljanje skladnosti z XML standardi.
Ključne razlike v primerjavi z JavaScript Regex
XSD regex vzorci imajo več pomembnih razlik v primerjavi z JavaScript regex. Prvič, XSD vzorci privzeto ujemajo celoten niz, zato vam ni treba dodajati sider ^in $. Vzorec [A-Z] samodejno ujema le nize, ki so natanko dve veliki črki. Drugič, XSD ne podpira lookahead ( (?=...)) ali lookbehind ( (?<=...)) trditev. Tretjič, XSD podpira Unicode kategorije, kot je \p{L} za črke in \p{N} za številke, kar v JavaScriptu zahteva Unicode zastavico. XSD ima tudi posebna zaporedja, kot sta \i in \c za znake XML imen, ki niso na voljo v JavaScript regex.
Primeri XSD vzorcev
Pogosti XSD vzorci vključujejo datumske formate, kot je \d{4}-\d{2}-\d{2} za datume YYYY-MM-DD, identifikatorske vzorce, kot je [A-Z][0-9] za dve črki, ki jima sledijo tri števke, ter Unicode vzorce, kot je \p{L}+ za eno ali več Unicode črk. Orodje prikazuje, kako se ti vzorci pretvorijo v JavaScript regex in ali se testni nizi ujemajo s celotnim vzorcem (polno ujemanje) ali le delno (delno ujemanje). Ker morajo XSD vzorci ujemati celoten niz, delna ujemanja pomenijo, da vzorec ne validira vnosa v celoti.
Najboljše prakse
Pri testiranju XSD vzorcev ne pozabite, da validirajo celotne nize, ne podnizov. Vzorec, kot je \d+, bo ujemal le nize, ki so v celoti sestavljeni iz števk, ne pa nizov, ki števke le vsebujejo. Uporabljajte razrede znakov in kvantifikatorje ustrezno: [A-Za-z]+ ujema eno ali več črk, medtem ko [A-Za-z]* ujema nič ali več črk. Za XML validacijo testirajte tako veljavne kot neveljavne vnose, da zagotovite, da vaši vzorci pravilno sprejmejo pričakovane podatke in zavrnejo nepravilno oblikovan vnos. Orodje prikaže pretvorjen JavaScript regex vzorec, da lahko vidite, kako so XSD vzorci prevedeni za namene testiranja.