DevToys Web Pro iconDevToys Web ProBlog
Oceń nas:
Wypróbuj rozszerzenie przeglądarki:

Tester wzorców RegEx XSD

Wzorzec XSD

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

Przekonwertowany wzorzec

Przybliżony odpowiednik wyrażenia regularnego JavaScript (tylko do wyświetlania). Rzeczywiste dopasowanie wykorzystuje bibliotekę xspattern dla dokładnej obsługi regexów XSD.
^[A-Z]{2}[0-9]{3}$

Ciąg testowy

  • Wynik

    Pełne dopasowanie
    Cały ciąg znaków pasuje do wzorca
    Dopasowany tekst:
    AB123

    Referencja składni wyrażeń regularnych XSD

    Klasy znaków

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

    Kwantyfikatory

    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)

    Grupy

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

    Znaki ucieczki

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

    Ważne różnice względem 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.
    Szczegóły techniczne

    Jak działa tester wzorców regex XSD

    Co robi narzędzie

    Tester wzorców regex XSD umożliwia testowanie wzorców regex z definicji XML Schema Definition (XSD) na przykładowym tekście. Wzorce regex XSD różnią się od regex JavaScript na kilka istotnych sposobów: domyślnie dopasowują cały ciąg (niejawne kotwice ^ i $), nie obsługują asercji lookahead/lookbehind oraz mają specyficzne reguły składni dla walidacji XML. To narzędzie konwertuje wzorce XSD na regex zgodny z JavaScript na potrzeby testów, jednocześnie wyjaśniając różnice. Jest przydatne dla programistów pracujących ze schematami XML, walidacją XSD i przetwarzaniem danych XML, którzy muszą testować ograniczenia wzorców zdefiniowane w plikach XSD.

    Typowe zastosowania dla programistów

    Programiści korzystają z testerów wzorców XSD podczas pracy z definicjami XML Schema, które zawierają ograniczenia regex. Wzorce XSD są powszechnie używane do walidacji zawartości elementów XML, takich jak adresy e-mail, daty, identyfikatory lub niestandardowe formaty. Podczas definiowania schematów XSD programiści muszą testować swoje ograniczenia wzorców, aby upewnić się, że poprawnie walidują oczekiwane dane wejściowe, jednocześnie odrzucając nieprawidłowe dane. Narzędzie pomaga zweryfikować, że wzorce takie jak [A-Z][0-9] poprawnie dopasowują formaty takie jak "AB123", ale odrzucają "ab123" lub "ABC123". Testery wzorców XSD są niezbędne w tworzeniu schematów XML, walidacji danych i zapewnianiu zgodności ze standardami XML.

    Kluczowe różnice względem regex JavaScript

    Wzorce regex XSD mają kilka istotnych różnic w porównaniu z regex JavaScript. Po pierwsze, wzorce XSD domyślnie dopasowują cały ciąg, więc nie trzeba dodawać kotwic ^ i $. Wzorzec [A-Z] automatycznie dopasowuje tylko ciągi, które składają się dokładnie z dwóch wielkich liter. Po drugie, XSD nie obsługuje asercji lookahead ((?=...)) ani lookbehind ((?&lt;=...)). Po trzecie, XSD obsługuje kategorie Unicode, takie jak \p{L} dla liter oraz \p{N} dla liczb, które w JavaScript wymagają flagi Unicode. XSD ma też specjalne sekwencje, takie jak \i i \c dla znaków nazw XML, które nie są dostępne w regex JavaScript.

    Przykłady wzorców XSD

    Typowe wzorce XSD obejmują formaty dat, takie jak \d{4}-\d{2}-\d{2} dla dat YYYY-MM-DD, wzorce identyfikatorów, takie jak [A-Z][0-9] dla dwóch liter, po których następują trzy cyfry, oraz wzorce Unicode, takie jak \p{L}+ dla jednej lub większej liczby liter Unicode. Narzędzie pokazuje, jak te wzorce są konwertowane na regex JavaScript oraz czy testowe ciągi dopasowują cały wzorzec (pełne dopasowanie), czy tylko częściowo (częściowe dopasowanie). Ponieważ wzorce XSD muszą dopasowywać cały ciąg, częściowe dopasowania wskazują, że wzorzec nie waliduje w pełni danych wejściowych.

    Dobre praktyki

    Podczas testowania wzorców XSD pamiętaj, że walidują one całe ciągi, a nie podciągi. Wzorzec taki jak \d+ dopasuje tylko ciągi składające się wyłącznie z cyfr, a nie ciągi zawierające cyfry. Używaj odpowiednio klas znaków i kwantyfikatorów: [A-Za-z]+ dopasowuje jedną lub więcej liter, a [A-Za-z]* dopasowuje zero lub więcej liter. W walidacji XML testuj zarówno poprawne, jak i niepoprawne dane wejściowe, aby upewnić się, że wzorce prawidłowo akceptują oczekiwane dane, jednocześnie odrzucając błędne wejście. Narzędzie wyświetla przekonwertowany wzorzec regex JavaScript, dzięki czemu możesz zobaczyć, jak wzorce XSD są tłumaczone na potrzeby testowania.