DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyzkoušejte rozšíření pro prohlížeč:

Tester vzorů XSD Regex

Vzor XSD

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

Převedený vzor

Přibližný ekvivalent regulárního výrazu v JavaScriptu (pouze pro zobrazení). Skutečné porovnávání používá knihovnu xspattern pro přesnou podporu XSD regex.
^[A-Z]{2}[0-9]{3}$

Testovací řetězec

  • Výsledek

    Úplná shoda
    Celý řetězec odpovídá vzoru
    Odpovídající text:
    AB123

    Referenční příručka syntaxe XSD regex

    Třídy znaků

    .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

    Escapované znaky

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

    Důležité rozdíly 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é detaily

    Jak funguje tester vzorů XSD regex

    Co nástroj dělá

    Tester vzorů XSD regex vám umožní testovat regulární výrazy definované v XML Schema Definition (XSD) proti ukázkovému textu. XSD regex se v několika důležitých ohledech liší od JavaScript regex: ve výchozím nastavení porovnávají celý řetězec (implicitní kotvy ^ a $), nepodporují lookahead/lookbehind aserce a mají specifická syntaktická pravidla pro validaci XML. Tento nástroj převádí XSD vzory na regulární výrazy kompatibilní s JavaScriptem pro účely testování a zároveň vysvětluje rozdíly. Je užitečný pro vývojáře pracující s XML schématy, validací XSD a zpracováním XML dat, kteří potřebují testovat omezení vzorů definovaná v souborech XSD.

    Běžné případy použití pro vývojáře

    Vývojáři používají testery vzorů XSD při práci s definicemi XML Schema, které obsahují regex omezení. XSD vzory se běžně používají k validaci obsahu XML elementů, například e-mailových adres, dat, ID nebo vlastních formátů. Při definování XSD schémat potřebují vývojáři testovat svá omezení vzorů, aby se ujistili, že správně validují očekávaný vstup a zároveň odmítají neplatná data. Nástroj pomáhá ověřit, že vzory jako [A-Z][0-9] správně odpovídají formátům jako „AB123“, ale odmítnou „ab123“ nebo „ABC123“. Testery vzorů XSD jsou nezbytné pro vývoj XML schémat, validaci dat a zajištění souladu se standardy XML.

    Klíčové rozdíly oproti JavaScript regex

    XSD regex vzory mají několik důležitých rozdílů oproti JavaScript regex. Za prvé, XSD vzory ve výchozím nastavení porovnávají celý řetězec, takže není potřeba přidávat kotvy ^ a $. Vzor [A-Z] automaticky odpovídá pouze řetězcům, které jsou přesně dvě velká písmena. Za druhé, XSD nepodporuje lookahead ((?=...)) ani lookbehind ((?&lt;=...)) aserce. Za třetí, XSD podporuje kategorie Unicode jako \p{L} pro písmena a \p{N} pro čísla, které v JavaScriptu vyžadují Unicode příznak. XSD má také speciální sekvence jako \i a \c pro znaky názvů XML, které v JavaScript regex nejsou k dispozici.

    Příklady vzorů XSD

    Mezi běžné XSD vzory patří formáty dat, například \d{4}-\d{2}-\d{2} pro data YYYY-MM-DD, identifikátory jako [A-Z][0-9] pro dvě písmena následovaná třemi číslicemi a Unicode vzory jako \p{L}+ pro jedno nebo více Unicode písmen. Nástroj ukazuje, jak se tyto vzory převádějí na JavaScript regex a zda testovací řetězce odpovídají celému vzoru (úplná shoda), nebo jen částečně (částečná shoda). Protože XSD vzory musí odpovídat celému řetězci, částečné shody naznačují, že vzor vstup plně nevaliduje.

    Doporučené postupy

    Při testování XSD vzorů pamatujte, že validují celé řetězce, nikoli podřetězce. Vzor jako \d+ bude odpovídat pouze řetězcům, které jsou celé tvořené číslicemi, nikoli řetězcům obsahujícím číslice. Používejte správně znakové třídy a kvantifikátory: [A-Za-z]+ odpovídá jednomu nebo více písmenům, zatímco [A-Za-z]* odpovídá nule nebo více písmenům. Pro validaci XML testujte jak platné, tak neplatné vstupy, abyste se ujistili, že vaše vzory správně přijímají očekávaná data a odmítají chybně formátovaný vstup. Nástroj zobrazuje převedený JavaScript regex vzor, abyste viděli, jak se XSD vzory překládají pro účely testování.