Tester vzorov XSD Regex
Vzorka XSD
Konvertovaný vzor
^[A-Z]{2}[0-9]{3}$Testovací reťazec
Výsledok
AB123Referenčná príručka syntaxe XSD regexov
Triedy znakov
| . | 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) |
Kvantifikátory
| 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) |
Skupiny
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Escape znaky
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Dôležité rozdiely oproti JavaScriptu
| 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. |
Technické podrobnosti
Ako funguje tester vzorov XSD regex
Čo nástroj robí
Tester vzorov XSD regex vám umožňuje testovať regex vzory z XML Schema Definition (XSD) proti ukážkovému textu. Regex vzory XSD sa v niekoľkých dôležitých bodoch líšia od JavaScript regex: predvolene zodpovedajú celému reťazcu (implicitné kotvy ^ a $), nepodporujú lookahead/lookbehind asercie a majú špecifické syntaktické pravidlá pre XML validáciu. Tento nástroj prevádza XSD vzory na regex kompatibilný s JavaScriptom na účely testovania a zároveň vysvetľuje rozdiely. Je užitočný pre vývojárov pracujúcich s XML schémami, XSD validáciou a spracovaním XML dát, ktorí potrebujú testovať obmedzenia vzorov definované v XSD súboroch.
Bežné prípady použitia pre vývojárov
Vývojári používajú testery XSD vzorov pri práci s definíciami XML Schema, ktoré obsahujú regex obmedzenia. XSD vzory sa bežne používajú na validáciu obsahu XML prvkov, napríklad e-mailových adries, dátumov, ID alebo vlastných formátov. Pri definovaní XSD schém musia vývojári testovať svoje obmedzenia vzorov, aby sa uistili, že správne validujú očakávaný vstup a zároveň odmietajú neplatné dáta. Nástroj pomáha overiť, že vzory ako [A-Z][0-9] správne zodpovedajú formátom ako "AB123", ale odmietnu "ab123" alebo "ABC123". Testery XSD vzorov sú nevyhnutné pre vývoj XML schém, validáciu dát a zabezpečenie súladu so štandardmi XML.
Kľúčové rozdiely oproti JavaScript regex
Regex vzory XSD majú niekoľko dôležitých rozdielov oproti JavaScript regex. Po prvé, XSD vzory predvolene zodpovedajú celému reťazcu, takže nemusíte pridávať kotvy ^ a $. Vzor [A-Z] automaticky zodpovedá iba reťazcom, ktoré sú presne dve veľké písmená. Po druhé, XSD nepodporuje lookahead ((?=...)) ani lookbehind ((?<=...)) asercie. Po tretie, XSD podporuje Unicode kategórie ako \p{L} pre písmená a \p{N} pre čísla, ktoré v JavaScripte vyžadujú Unicode flag. XSD má tiež špeciálne sekvencie ako \i a \c pre znaky názvov XML, ktoré v JavaScript regex nie sú dostupné.
Príklady XSD vzorov
Bežné XSD vzory zahŕňajú formáty dátumu ako \d{4}-\d{2}-\d{2} pre dátumy YYYY-MM-DD, vzory identifikátorov ako [A-Z][0-9] pre dve písmená nasledované tromi číslicami a Unicode vzory ako \p{L}+ pre jedno alebo viac Unicode písmen. Nástroj ukazuje, ako sa tieto vzory prevádzajú na JavaScript regex a či testovacie reťazce zodpovedajú celému vzoru (úplná zhoda) alebo iba čiastočne (čiastočná zhoda). Keďže XSD vzory musia zodpovedať celému reťazcu, čiastočné zhody naznačujú, že vzor vstup úplne nevaliduje.
Odporúčané postupy
Pri testovaní XSD vzorov pamätajte, že validujú celé reťazce, nie podreťazce. Vzor ako \d+ bude zodpovedať iba reťazcom, ktoré sú celé tvorené číslicami, nie reťazcom obsahujúcim číslice. Používajte triedy znakov a kvantifikátory primerane: [A-Za-z]+ zodpovedá jednému alebo viacerým písmenám, zatiaľ čo [A-Za-z]* zodpovedá nule alebo viacerým písmenám. Pre XML validáciu testujte platné aj neplatné vstupy, aby ste sa uistili, že vaše vzory správne prijímajú očakávané dáta a odmietajú chybne formovaný vstup. Nástroj zobrazuje prevedený JavaScript regex vzor, aby ste videli, ako sa XSD vzory prekladajú na účely testovania.