DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyskúšajte rozšírenie prehliadača:

Tester vzorov XSD Regex

Vzorka XSD

XSD patterns match the entire string by default (implicit ^ and $). Using xspattern for accurate XSD regex matching.

Konvertovaný vzor

Približný ekvivalent JavaScript regexu (len na zobrazenie). Skutočné porovnávanie používa knižnicu xspattern pre presnú podporu XSD regexov.
^[A-Z]{2}[0-9]{3}$

Testovací reťazec

  • Výsledok

    Úplná zhoda
    Celý reťazec zodpovedá vzoru
    Zodpovedajúci text:
    AB123

    Referenč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)
    \dDigit (0-9)
    \DNon-digit
    \sWhitespace
    \SNon-whitespace
    \p{L}Unicode letter category(\p{L} (with 'u' flag))
    \p{N}Unicode number category(\p{N} (with 'u' flag))
    \iXML initial name character (XSD only, supported by xspattern)
    \cXML 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|bMatch a or b

    Escape znaky

    \tTab
    \nNewline
    \rCarriage return
    \xhhHex character
    \uhhhhUnicode character

    Dôležité rozdiely oproti JavaScriptu

    No anchorsXSD patterns match entire string by default (implicit ^ and $). xspattern handles this correctly.
    No lookahead/lookbehindXSD does not support (?=...), (?!...), (?<=...), (?<!...)
    Unicode categoriesXSD supports \p{L}, \p{N}, etc. xspattern supports Unicode 15.0.
    XML name charsXSD has \i and \c for XML name characters. xspattern supports these.
    Character class subtractionXSD 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 ((?&lt;=...)) 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.