DevToys Web Pro iconDevToys Web Pro블로그
평가하기:
브라우저 확장 프로그램을 사용해 보세요:

XSD 정규식 패턴 테스터

XSD 패턴

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

변환된 패턴

대략적인 JavaScript 정규식 동등 표현(표시용). 실제 매칭은 정확한 XSD 정규식 지원을 위해 xspattern 라이브러리를 사용합니다.
^[A-Z]{2}[0-9]{3}$

테스트 문자열

  • 결과

    전체 일치
    문자열 전체가 패턴과 일치합니다
    일치한 텍스트:
    AB123

    XSD 정규식 구문 참조

    문자 클래스

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

    수량자

    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)

    그룹

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

    이스케이프 문자

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

    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.
    기술적 세부 정보

    XSD 정규식 패턴 테스터의 작동 방식

    도구가 하는 일

    XSD 정규식 패턴 테스터는 XML 스키마 정의(XSD)의 정규식 패턴을 샘플 텍스트에 대해 테스트할 수 있게 해줍니다. XSD 정규식 패턴은 JavaScript 정규식과 몇 가지 중요한 점에서 다릅니다. 기본적으로 전체 문자열을 매칭합니다(암묵적인 ^ 및 $ 앵커), 전방/후방 탐색(lookahead/lookbehind) 단언을 지원하지 않으며, XML 검증을 위한 특정 문법 규칙이 있습니다. 이 도구는 XSD 패턴을 테스트할 수 있도록 JavaScript 호환 정규식으로 변환하면서 그 차이점을 설명합니다. XSD 파일에 정의된 패턴 제약을 테스트해야 하는 XML 스키마, XSD 검증, XML 데이터 처리 작업을 하는 개발자에게 유용합니다.

    개발자들이 흔히 사용하는 사례

    개발자는 정규식 제약이 포함된 XML 스키마 정의를 다룰 때 XSD 패턴 테스터를 사용합니다. XSD 패턴은 이메일 주소, 날짜, ID 또는 사용자 정의 형식과 같은 XML 요소 콘텐츠를 검증하는 데 흔히 사용됩니다. XSD 스키마를 정의할 때 개발자는 패턴 제약이 예상 입력을 올바르게 검증하면서 잘못된 데이터를 거부하는지 확인하기 위해 테스트해야 합니다. 이 도구는 [A-Z][0-9] 같은 패턴이 "AB123" 같은 형식은 올바르게 매칭하지만 "ab123" 또는 "ABC123"은 거부하는지 검증하는 데 도움을 줍니다. XSD 패턴 테스터는 XML 스키마 개발, 데이터 검증, 그리고 XML 표준 준수 보장에 필수적입니다.

    JavaScript 정규식과의 핵심 차이점

    XSD 정규식 패턴은 JavaScript 정규식과 몇 가지 중요한 차이가 있습니다. 첫째, XSD 패턴은 기본적으로 전체 문자열을 매칭하므로 ^$ 앵커를 추가할 필요가 없습니다. [A-Z] 패턴은 자동으로 정확히 두 개의 대문자만으로 이루어진 문자열만 매칭합니다. 둘째, XSD는 전방 탐색((?=...)) 또는 후방 탐색((?&lt;=...)) 단언을 지원하지 않습니다. 셋째, XSD는 문자에 대한 \p{L}, 숫자에 대한 \p{N} 같은 유니코드 범주를 지원하는데, 이는 JavaScript에서 유니코드 플래그가 필요합니다. 또한 XSD에는 JavaScript 정규식에는 없는 XML 이름 문자용 특수 시퀀스인 \i\c가 있습니다.

    XSD 패턴 예시

    일반적인 XSD 패턴에는 YYYY-MM-DD 날짜를 위한 \d{4}-\d{2}-\d{2} 같은 날짜 형식, 두 글자 뒤에 세 자리 숫자가 오는 식별자 패턴인 [A-Z][0-9], 하나 이상의 유니코드 문자를 위한 \p{L}+ 같은 유니코드 패턴이 포함됩니다. 이 도구는 이러한 패턴이 JavaScript 정규식으로 어떻게 변환되는지와 테스트 문자열이 전체 패턴에 매칭되는지(전체 매칭) 또는 일부만 매칭되는지(부분 매칭)를 보여줍니다. XSD 패턴은 전체 문자열과 매칭되어야 하므로, 부분 매칭은 해당 패턴이 입력을 완전히 검증하지 못한다는 것을 의미합니다.

    모범 사례

    XSD 패턴을 테스트할 때는 부분 문자열이 아니라 전체 문자열을 검증한다는 점을 기억하세요. \d+ 같은 패턴은 숫자를 포함한 문자열이 아니라, 전체가 숫자로만 이루어진 문자열에만 매칭됩니다. 문자 클래스와 수량자를 적절히 사용하세요. [A-Za-z]+는 하나 이상의 문자를 매칭하고, [A-Za-z]*는 0개 이상의 문자를 매칭합니다. XML 검증을 위해 유효한 입력과 무효한 입력을 모두 테스트하여, 패턴이 예상 데이터를 올바르게 허용하면서 잘못된 입력은 거부하는지 확인하세요. 이 도구는 변환된 JavaScript 정규식 패턴을 표시하므로, 테스트 목적을 위해 XSD 패턴이 어떻게 번역되는지 확인할 수 있습니다.