DevToys Web Pro iconDevToys Web ProBlog
Valutaci:
Prova l'estensione del browser:

Tester di pattern RegEx XSD

Pattern XSD

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

Pattern convertito

Equivalente approssimativo della regex JavaScript (solo per visualizzazione). La corrispondenza effettiva usa la libreria xspattern per un supporto accurato delle regex XSD.
^[A-Z]{2}[0-9]{3}$

Stringa di test

  • Risultato

    Corrispondenza completa
    L'intera stringa corrisponde al pattern
    Testo corrispondente:
    AB123

    Riferimento alla sintassi delle regex XSD

    Classi di caratteri

    .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)

    Quantificatori

    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)

    Gruppi

    (abc)Capturing group
    (?:abc)Non-capturing group
    a|bMatch a or b

    Caratteri di escape

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

    Differenze importanti rispetto a JavaScript

    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.
    Dettagli tecnici

    Come funziona il tester di pattern regex XSD

    Cosa fa lo strumento

    Il tester di pattern regex XSD consente di testare i pattern regex di XML Schema Definition (XSD) su un testo di esempio. I pattern regex XSD differiscono dalle regex JavaScript in diversi aspetti importanti: per impostazione predefinita corrispondono all’intera stringa (ancore ^ e $ implicite), non supportano le asserzioni lookahead/lookbehind e hanno regole di sintassi specifiche per la validazione XML. Questo strumento converte i pattern XSD in regex compatibili con JavaScript per i test, spiegando al contempo le differenze. È utile per gli sviluppatori che lavorano con schemi XML, validazione XSD ed elaborazione di dati XML e che devono testare i vincoli di pattern definiti nei file XSD.

    Casi d’uso comuni per sviluppatori

    Gli sviluppatori usano i tester di pattern XSD quando lavorano con definizioni di XML Schema che includono vincoli regex. I pattern XSD sono comunemente usati per validare il contenuto degli elementi XML, come indirizzi email, date, ID o formati personalizzati. Quando definiscono schemi XSD, gli sviluppatori devono testare i vincoli di pattern per assicurarsi che validino correttamente l’input previsto, rifiutando al contempo i dati non validi. Lo strumento aiuta a verificare che pattern come [A-Z][0-9] corrispondano correttamente a formati come "AB123" ma rifiutino "ab123" o "ABC123". I tester di pattern XSD sono essenziali per lo sviluppo di schemi XML, la validazione dei dati e la conformità agli standard XML.

    Differenze principali rispetto alle regex JavaScript

    I pattern regex XSD presentano diverse differenze importanti rispetto alle regex JavaScript. Innanzitutto, i pattern XSD corrispondono all’intera stringa per impostazione predefinita, quindi non è necessario aggiungere le ancore ^e $. Il pattern [A-Z] corrisponde automaticamente solo a stringhe che sono esattamente due lettere maiuscole. In secondo luogo, XSD non supporta le asserzioni lookahead ( (?=...)) o lookbehind ( (?&lt;=...)). In terzo luogo, XSD supporta categorie Unicode come \p{L} per le lettere e \p{N} per i numeri, che in JavaScript richiedono il flag Unicode. XSD ha anche sequenze speciali come \i e \c per i caratteri dei nomi XML che non sono disponibili nelle regex JavaScript.

    Esempi di pattern XSD

    Tra i pattern XSD comuni ci sono formati di data come \d{4}-\d{2}-\d{2} per date YYYY-MM-DD, pattern di identificatore come [A-Z][0-9] per due lettere seguite da tre cifre e pattern Unicode come \p{L}+ per una o più lettere Unicode. Lo strumento mostra come questi pattern vengono convertiti in regex JavaScript e se le stringhe di test corrispondono all’intero pattern (corrispondenza completa) o solo in parte (corrispondenza parziale). Poiché i pattern XSD devono corrispondere all’intera stringa, le corrispondenze parziali indicano che il pattern non valida completamente l’input.

    Best practice

    Quando testi i pattern XSD, ricorda che validano stringhe intere, non sottostringhe. Un pattern come \d+ corrisponderà solo a stringhe composte interamente da cifre, non a stringhe che contengono cifre. Usa in modo appropriato classi di caratteri e quantificatori: [A-Za-z]+ corrisponde a una o più lettere, mentre [A-Za-z]* corrisponde a zero o più lettere. Per la validazione XML, testa sia input validi sia non validi per assicurarti che i pattern accettino correttamente i dati previsti rifiutando quelli malformati. Lo strumento mostra il pattern regex JavaScript convertito, così puoi vedere come i pattern XSD vengono tradotti a fini di test.