DevToys Web Pro iconDevToys Web Proوبلاگ
به ما امتیاز دهید:
افزونه مرورگر را امتحان کنید:

تستر الگوی Regex در XSD

الگوی XSD

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

الگوی تبدیل‌شده

معادل تقریبی regex در JavaScript (فقط برای نمایش). تطبیق واقعی برای پشتیبانی دقیق از regex در XSD از کتابخانه xspattern استفاده می‌کند.
^[A-Z]{2}[0-9]{3}$

رشته آزمایشی

  • نتیجه

    تطابق کامل
    کل رشته با الگو مطابقت دارد
    متنِ مطابق:
    AB123

    مرجع نحو Regex در 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

    کاراکترهای Escape‌شده

    \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.
    جزئیات فنی

    آزمون‌گر الگوی Regex در XSD چگونه کار می‌کند

    این ابزار چه کاری انجام می‌دهد

    آزمون‌گر الگوی regex در XSD به شما اجازه می‌دهد الگوهای regex در XML Schema Definition (XSD) را در برابر متن نمونه آزمایش کنید. الگوهای regex در XSD از چند جهت مهم با regex جاوااسکریپت تفاوت دارند: به‌طور پیش‌فرض کل رشته را تطبیق می‌دهند (لنگرهای ضمنی ^ و $)، از assertionهای lookahead/lookbehind پشتیبانی نمی‌کنند و قوانین نحوی مشخصی برای اعتبارسنجی XML دارند. این ابزار ضمن توضیح تفاوت‌ها، الگوهای XSD را برای آزمایش به regex سازگار با جاوااسکریپت تبدیل می‌کند. این ابزار برای توسعه‌دهندگانی که با شِماهای XML، اعتبارسنجی XSD و پردازش دادهٔ XML کار می‌کنند و نیاز دارند محدودیت‌های الگو تعریف‌شده در فایل‌های XSD را آزمایش کنند، مفید است.

    موارد استفادهٔ رایج برای توسعه‌دهندگان

    توسعه‌دهندگان هنگام کار با تعریف‌های XML Schema که شامل محدودیت‌های regex هستند از آزمون‌گرهای الگوی XSD استفاده می‌کنند. الگوهای XSD معمولاً برای اعتبارسنجی محتوای عناصر XML به کار می‌روند؛ مانند آدرس‌های ایمیل، تاریخ‌ها، شناسه‌ها یا قالب‌های سفارشی. هنگام تعریف شِماهای XSD، توسعه‌دهندگان باید محدودیت‌های الگوی خود را آزمایش کنند تا مطمئن شوند ورودیِ مورد انتظار را درست اعتبارسنجی می‌کنند و در عین حال دادهٔ نامعتبر را رد می‌کنند. این ابزار کمک می‌کند بررسی شود الگوهایی مانند [A-Z][0-9] به‌درستی قالب‌هایی مثل "AB123" را تطبیق می‌دهند اما "ab123" یا "ABC123" را رد می‌کنند. آزمون‌گرهای الگوی XSD برای توسعهٔ شِمای XML، اعتبارسنجی داده و تضمین انطباق با استانداردهای XML ضروری هستند.

    تفاوت‌های کلیدی با Regex جاوااسکریپت

    الگوهای regex در XSD چند تفاوت مهم با regex جاوااسکریپت دارند. اول اینکه الگوهای XSD به‌طور پیش‌فرض کل رشته را تطبیق می‌دهند، بنابراین نیازی نیست لنگرهای ^and $anchors را اضافه کنید. الگوی [A-Z] به‌صورت خودکار فقط رشته‌هایی را تطبیق می‌دهد که دقیقاً دو حرف بزرگ لاتین هستند. دوم اینکه XSD از assertionهای lookahead ( (?=...)) یا lookbehind ( (?&lt;=...)) پشتیبانی نمی‌کند. سوم اینکه XSD از دسته‌بندی‌های یونیکد مانند \p{L}for letters و \p{N}for numbers پشتیبانی می‌کند که در جاوااسکریپت به پرچم Unicode نیاز دارند. XSD همچنین توالی‌های ویژه‌ای مانند \iand \cfor XML name characters دارد که در regex جاوااسکریپت موجود نیستند.

    نمونه‌های الگوی XSD

    الگوهای رایج XSD شامل قالب‌های تاریخ مانند \d{4}-\d{2}-\d{2} برای تاریخ‌های YYYY-MM-DD، الگوهای شناسه مانند [A-Z][0-9] برای دو حرف و سپس سه رقم، و الگوهای یونیکد مانند \p{L}+ برای یک یا چند حرف یونیکد هستند. این ابزار نشان می‌دهد این الگوها چگونه به regex جاوااسکریپت تبدیل می‌شوند و آیا رشته‌های آزمایشی کل الگو را تطبیق می‌دهند (تطبیق کامل) یا فقط بخشی از آن را (تطبیق جزئی). از آنجا که الگوهای XSD باید کل رشته را تطبیق دهند، تطبیق‌های جزئی نشان می‌دهد الگو ورودی را به‌طور کامل اعتبارسنجی نمی‌کند.

    بهترین روش‌ها

    هنگام آزمایش الگوهای XSD، به یاد داشته باشید که آن‌ها کل رشته‌ها را اعتبارسنجی می‌کنند، نه زیررشته‌ها را. الگویی مانند \d+will only match strings that are entirely digits, not strings containing digits. از کلاس‌های کاراکتری و کمیت‌گذارها به‌درستی استفاده کنید: [A-Za-z]+ یک یا چند حرف را تطبیق می‌دهد، در حالی که [A-Za-z]* صفر یا چند حرف را تطبیق می‌دهد. برای اعتبارسنجی XML، هم ورودی‌های معتبر و هم نامعتبر را آزمایش کنید تا مطمئن شوید الگوهای شما دادهٔ مورد انتظار را درست می‌پذیرند و ورودیِ بدقالب را رد می‌کنند. این ابزار الگوی regex تبدیل‌شدهٔ جاوااسکریپت را نمایش می‌دهد تا ببینید الگوهای XSD برای اهداف آزمایش چگونه ترجمه می‌شوند.