XSD Regex -kuviotestaaja
XSD-malli
Muunnettu kuvio
^[A-Z]{2}[0-9]{3}$Testimerkkijono
Tulos
AB123XSD-regexin syntaksiviite
Merkkiluokat
| . | 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) |
Kvanttorit
| 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) |
Ryhmät
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
Ohjausmerkit
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
Tärkeät erot JavaScriptiin verrattuna
| 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. |
Tekniset tiedot
Miten XSD-regex-kuviotestaaja toimii
Mitä työkalu tekee
XSD-regex-kuviotestaajan avulla voit testata XML Schema Definition (XSD) -regex-kuvioita esimerkkitekstiä vasten. XSD-regex-kuviot eroavat JavaScript-regexistä useilla tärkeillä tavoilla: ne täsmäävät oletuksena koko merkkijonoon (implisiittiset ^- ja $-ankkurit), eivät tue lookahead-/lookbehind-assertioita, ja niillä on XML-validointiin liittyvät omat syntaksisääntönsä. Tämä työkalu muuntaa XSD-kuviot JavaScript-yhteensopiviksi regexeiksi testausta varten ja samalla selittää erot. Se on hyödyllinen kehittäjille, jotka työskentelevät XML-skeemojen, XSD-validoinnin ja XML-datan käsittelyn parissa ja joiden täytyy testata XSD-tiedostoissa määriteltyjä kuvioreunaehtoja.
Yleiset kehittäjien käyttötapaukset
Kehittäjät käyttävät XSD-kuviotestaajia työskennellessään XML Schema -määritelmien kanssa, jotka sisältävät regex-rajoitteita. XSD-kuvioita käytetään yleisesti XML-elementtien sisällön validointiin, kuten sähköpostiosoitteisiin, päivämääriin, tunnisteisiin tai mukautettuihin formaatteihin. XSD-skeemoja määriteltäessä kehittäjien on testattava kuvioreunaehtonsa varmistaakseen, että ne validoivat odotetun syötteen oikein ja hylkäävät virheellisen datan. Työkalu auttaa varmistamaan, että kuviot kuten [A-Z][0-9] täsmäävät oikein muotoihin kuten "AB123" mutta hylkäävät "ab123" tai "ABC123". XSD-kuviotestaajat ovat olennaisia XML-skeemakehityksessä, datan validoinnissa ja XML-standardien noudattamisen varmistamisessa.
Keskeiset erot JavaScript-regexiin verrattuna
XSD-regex-kuvioissa on useita tärkeitä eroja JavaScript-regexiin verrattuna. Ensinnäkin XSD-kuviot täsmäävät oletuksena koko merkkijonoon, joten sinun ei tarvitse lisätä ^and $anchors. Kuvio [A-Z] täsmää automaattisesti vain merkkijonoihin, jotka ovat täsmälleen kaksi isoa kirjainta. Toiseksi XSD ei tue lookahead- ((?=...)) tai lookbehind- ((?<=...)) assertioita. Kolmanneksi XSD tukee Unicode-luokkia kuten \p{L} kirjaimille ja \p{N} numeroille, jotka vaativat JavaScriptissä Unicode-lipun. XSD:ssä on myös erityisjonoja kuten \i ja \c XML-nimimerkeille, joita ei ole saatavilla JavaScript-regexissä.
XSD-kuvioesimerkkejä
Yleisiä XSD-kuvioita ovat päivämäärämuodot kuten \d{4}-\d{2}-\d{2} YYYY-MM-DD-päivämäärille, tunnistekuviot kuten [A-Z][0-9] kahdelle kirjaimelle, joita seuraa kolme numeroa, sekä Unicode-kuviot kuten \p{L}+ yhdelle tai useammalle Unicode-kirjaimelle. Työkalu näyttää, miten nämä kuviot muunnetaan JavaScript-regexiksi ja täsmäävätkö testimerkkijonot koko kuvioon (täysi osuma) vai vain osittain (osittainen osuma). Koska XSD-kuvioiden on täsmättävä koko merkkijonoon, osittaiset osumat tarkoittavat, ettei kuvio validoi syötettä kokonaan.
Parhaat käytännöt
Kun testaat XSD-kuvioita, muista, että ne validoivat kokonaisia merkkijonoja, eivät alimerkkijonoja. Kuvio kuten \d+will only match strings that are entirely digits, not strings containing digits. Käytä merkkiluokkia ja kvantifioijia tarkoituksenmukaisesti: [A-Za-z]+ täsmää yhteen tai useampaan kirjaimeen, kun taas [A-Za-z]* täsmää nollaan tai useampaan kirjaimeen. XML-validointia varten testaa sekä kelvolliset että virheelliset syötteet varmistaaksesi, että kuviot hyväksyvät odotetun datan ja hylkäävät virheellisen syötteen. Työkalu näyttää muunnetun JavaScript-regex-kuvion, jotta näet, miten XSD-kuviot käännetään testausta varten.