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 Regex Pattern Tester কীভাবে কাজ করে

    টুলটি কী করে

    XSD regex pattern tester আপনাকে নমুনা টেক্সটের বিপরীতে XML Schema Definition (XSD) রেজেক্স প্যাটার্ন পরীক্ষা করতে দেয়। XSD রেজেক্স প্যাটার্ন JavaScript রেজেক্স থেকে কয়েকটি গুরুত্বপূর্ণ দিক দিয়ে আলাদা: ডিফল্টভাবে পুরো স্ট্রিং ম্যাচ করে (ইমপ্লিসিট ^ এবং $ অ্যাঙ্কর), lookahead/lookbehind assertion সাপোর্ট করে না, এবং XML ভ্যালিডেশনের জন্য নির্দিষ্ট সিনট্যাক্স নিয়ম আছে। এই টুলটি পার্থক্যগুলো ব্যাখ্যা করতে করতে XSD প্যাটার্নকে টেস্টিংয়ের জন্য JavaScript-কম্প্যাটিবল রেজেক্সে রূপান্তর করে। XML স্কিমা, XSD ভ্যালিডেশন, এবং XML ডেটা প্রসেসিং নিয়ে কাজ করা ডেভেলপারদের জন্য এটি উপকারী, যাদের XSD ফাইলে সংজ্ঞায়িত প্যাটার্ন কনস্ট্রেইন্ট পরীক্ষা করতে হয়।

    ডেভেলপারদের সাধারণ ব্যবহারক্ষেত্র

    রেজেক্স কনস্ট্রেইন্টসহ XML Schema ডেফিনিশন নিয়ে কাজ করার সময় ডেভেলপাররা XSD প্যাটার্ন টেস্টার ব্যবহার করেন। XSD প্যাটার্ন সাধারণত XML এলিমেন্ট কনটেন্ট ভ্যালিডেট করতে ব্যবহৃত হয়, যেমন ইমেইল ঠিকানা, তারিখ, আইডি, বা কাস্টম ফরম্যাট। XSD স্কিমা সংজ্ঞায়িত করার সময়, ডেভেলপারদের তাদের প্যাটার্ন কনস্ট্রেইন্ট পরীক্ষা করতে হয় যাতে তা প্রত্যাশিত ইনপুট সঠিকভাবে ভ্যালিডেট করে এবং অবৈধ ডেটা প্রত্যাখ্যান করে। এই টুলটি যাচাই করতে সাহায্য করে যে [A-Z][0-9]-এর মতো প্যাটার্ন "AB123"-এর মতো ফরম্যাট সঠিকভাবে ম্যাচ করে, কিন্তু "ab123" বা "ABC123" প্রত্যাখ্যান করে। XML স্কিমা ডেভেলপমেন্ট, ডেটা ভ্যালিডেশন, এবং XML স্ট্যান্ডার্ডের সাথে সামঞ্জস্য নিশ্চিত করতে XSD প্যাটার্ন টেস্টার অপরিহার্য।

    JavaScript Regex থেকে প্রধান পার্থক্যগুলো

    XSD রেজেক্স প্যাটার্নের সাথে JavaScript রেজেক্সের কয়েকটি গুরুত্বপূর্ণ পার্থক্য আছে। প্রথমত, XSD প্যাটার্ন ডিফল্টভাবে পুরো স্ট্রিং ম্যাচ করে, তাই আপনাকে ^ এবং $ অ্যাঙ্কর যোগ করতে হয় না। [A-Z] প্যাটার্নটি স্বয়ংক্রিয়ভাবে কেবল সেই স্ট্রিংগুলোই ম্যাচ করে যেগুলো ঠিক দুইটি বড় হাতের অক্ষর। দ্বিতীয়ত, XSD lookahead ( (?=...)) বা lookbehind ( (?&lt;=...)) assertion সাপোর্ট করে না। তৃতীয়ত, XSD অক্ষরের জন্য \p{L} এবং সংখ্যার জন্য \p{N}-এর মতো Unicode ক্যাটাগরি সাপোর্ট করে, যেগুলোর জন্য JavaScript-এ Unicode ফ্ল্যাগ দরকার। XSD-তে XML নামের অক্ষরের জন্য \i এবং \c-এর মতো বিশেষ সিকোয়েন্সও আছে, যা JavaScript রেজেক্সে পাওয়া যায় না।

    XSD প্যাটার্নের উদাহরণ

    সাধারণ XSD প্যাটার্নের মধ্যে রয়েছে YYYY-MM-DD তারিখের জন্য \d{4}-\d{2}-\d{2}-এর মতো ডেট ফরম্যাট, তিনটি ডিজিটসহ দুইটি অক্ষরের জন্য [A-Z][0-9]-এর মতো আইডেন্টিফায়ার প্যাটার্ন, এবং এক বা একাধিক Unicode অক্ষরের জন্য \p{L}+-এর মতো Unicode প্যাটার্ন। টুলটি দেখায় কীভাবে এই প্যাটার্নগুলো JavaScript রেজেক্সে রূপান্তরিত হয় এবং টেস্ট স্ট্রিংগুলো পুরো প্যাটার্ন (full match) নাকি আংশিকভাবে (partial match) ম্যাচ করে। যেহেতু XSD প্যাটার্নকে পুরো স্ট্রিং ম্যাচ করতে হয়, partial match মানে প্যাটার্নটি ইনপুটকে সম্পূর্ণভাবে ভ্যালিডেট করছে না।

    সেরা অনুশীলন

    XSD প্যাটার্ন টেস্ট করার সময় মনে রাখবেন, এগুলো সাবস্ট্রিং নয়—পুরো স্ট্রিং ভ্যালিডেট করে। \d+-এর মতো প্যাটার্ন কেবল সেই স্ট্রিংগুলোই ম্যাচ করবে যেগুলো সম্পূর্ণভাবে ডিজিট, ডিজিট রয়েছে এমন স্ট্রিং নয়। ক্যারেক্টার ক্লাস এবং কোয়ান্টিফায়ার যথাযথভাবে ব্যবহার করুন: [A-Za-z]+ এক বা একাধিক অক্ষর ম্যাচ করে, আর [A-Za-z]* শূন্য বা একাধিক অক্ষর ম্যাচ করে। XML ভ্যালিডেশনের জন্য, বৈধ এবং অবৈধ—দুই ধরনের ইনপুটই টেস্ট করুন যাতে আপনার প্যাটার্নগুলো প্রত্যাশিত ডেটা গ্রহণ করে এবং বিকৃত ইনপুট প্রত্যাখ্যান করে। টুলটি রূপান্তরিত JavaScript রেজেক্স প্যাটার্ন দেখায়, যাতে আপনি দেখতে পারেন টেস্টিংয়ের উদ্দেশ্যে XSD প্যাটার্ন কীভাবে অনুবাদ করা হয়েছে।