মূল বিষয়বস্তুতে যান
ToolMug

সরাতে ↑ ↓, খুলতে Enter, বন্ধ করতে Esc চাপুন।

প্রচলিত Regex প্যাটার্ন

দৈনন্দিন যাচাইয়ের জন্য প্রস্তুত regex—ইমেইল, URL, ডোমেইন, IPv4 ও MAC ঠিকানা, পূর্ণসংখ্যা, দশমিক ও টাকার পরিমাণ, তারিখ ও সময়, ইউজারনেম, শক্তিশালী পাসওয়ার্ড, হেক্স রং, UUID ও semantic version, সঙ্গে চীনা ফোন, ID ও পোস্টকোডের ফরম্যাট। প্রতিটি প্যাটার্নের সঙ্গে বর্ণনা, মেলা ও না-মেলা উদাহরণ আছে; এক ক্লিকে কপি করুন, অথবা বাক্সে লিখে পরীক্ষা করুন।

আপনার ব্রাউজারে চলে — আপনি যা দেন তার কিছুই আপলোড হয় না

  • ইমেইল ঠিকানা

    ডট, প্লাস চিহ্ন ও বহু-স্তরের ডোমেইনসহ প্রচলিত ইমেইল ফরম্যাট

    /^[\w.+-]+@[\w-]+(\.[\w-]+)+$/

    ✓ name@example.com a.b+tag@mail.co.uk✗ name@ @example.com a b@example.com

  • URL (http/https)

    http:// বা https:// দিয়ে শুরু এবং কোনো স্পেস নেই

    /^https?:\/\/[^\s/$.?#][^\s]*$/i

    ✓ https://example.com/path?q=1 http://localhost:8080✗ ftp://example.com example.com https:// bad

  • ডোমেইন নাম

    অক্ষর, অঙ্ক ও হাইফেনের বহু-স্তরের ডোমেইন

    /^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/

    ✓ example.com sub.example.co.uk✗ -bad.com example exa_mple.com

  • IPv4 ঠিকানা

    শুরুতে শূন্য ছাড়া 0 থেকে 255-এর চারটি সংখ্যা

    /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/

    ✓ 192.168.1.1 8.8.8.8 255.255.255.0✗ 256.1.1.1 1.2.3 01.2.3.4

  • MAC ঠিকানা

    কোলন বা হাইফেনে আলাদা করা হেক্স অঙ্কের ছয় জোড়া

    /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/

    ✓ 00:1A:2B:3C:4D:5E 00-1a-2b-3c-4d-5e✗ 001A2B3C4D5E 00:1A:2B:3C:4D

  • চীনা মোবাইল নম্বর

    +86 ছাড়া 13–19 দিয়ে শুরু হওয়া 11 অঙ্ক

    /^1[3-9]\d{9}$/

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • চীনা ল্যান্ডলাইন

    এলাকার কোড ও নম্বর, হাইফেনে আলাদা করা যেতে পারে

    /^0\d{2,3}-?\d{7,8}$/

    ✓ 010-12345678 0755-1234567 02112345678✗ 12345678 010-123

  • চীনা ID কার্ড (18 অঙ্ক)

    অঞ্চল কোডের দৈর্ঘ্য ও জন্মতারিখ পরীক্ষা করে; শেষ অক্ষর X হতে পারে। চেকসাম যাচাই করে না।

    /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

    ✓ 11010519491231002X 440308199901010012✗ 11010519491331002X 1101051949123100

  • চীনা পোস্টকোড

    ছয় অঙ্ক

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • চীনা লাইসেন্স প্লেট

    সাধারণ প্লেটে 7, নতুন শক্তির গাড়িতে 8টি অক্ষর

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

    ✓ 京A12345 粤BD12345 沪A1234学✗ 京12345 京AI2345

  • শুধু চীনা অক্ষর

    শুধু প্রচলিত CJK হান অক্ষর

    /^[\u4e00-\u9fa5]+$/

    ✓ 中文 正则表达式✗ 中文abc

  • QQ নম্বর

    0 দিয়ে শুরু নয়, 5–11 অঙ্ক

    /^[1-9]\d{4,10}$/

    ✓ 10001 123456789✗ 01234 1234

  • ব্যাংক কার্ড নম্বর

    16–19 অঙ্ক; বৈধতার জন্য Luhn চেকও দরকার

    /^[1-9]\d{15,18}$/

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • পূর্ণসংখ্যা

    ঋণাত্মক হতে পারে

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • ধনাত্মক পূর্ণসংখ্যা

    শুরুতে শূন্য নেই

    /^[1-9]\d*$/

    ✓ 1 100✗ 0 01 -1

  • দশমিক সংখ্যা

    ঋণাত্মক হতে পারে, দশমিকের দুই পাশে অঙ্ক থাকে

    /^-?\d+(?:\.\d+)?$/

    ✓ 3.14 -0.5 42✗ .5 1. 1,000

  • টাকার পরিমাণ

    ঋণাত্মক নয়, সর্বোচ্চ দুই দশমিক

    /^(?:0|[1-9]\d*)(?:\.\d{1,2})?$/

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • তারিখ (YYYY-MM-DD)

    মাস 01–12 ও দিন 01–31; মাসের দিনের সংখ্যা পরীক্ষা হয় না

    /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/

    ✓ 2026-09-26 1999-12-31✗ 2026-13-01 2026-9-26 26-09-2026

  • সময় (HH:MM[:SS])

    24 ঘণ্টার ঘড়ি, সেকেন্ড ঐচ্ছিক

    /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/

    ✓ 09:30 23:59:59✗ 24:00 9:30 12:60

  • ইউজারনেম

    অক্ষর দিয়ে শুরু; 4–16 অক্ষর, অঙ্ক বা underscore

    /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • শক্তিশালী পাসওয়ার্ড

    অন্তত 8 অক্ষর, বড় ও ছোট হাতের অক্ষর, অঙ্ক ও প্রতীকসহ

    /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • Hex রং

    #RGB বা #RRGGBB

    /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/

    ✓ #fff #0F766E✗ fff #ffff #12345g

  • UUID

    স্ট্যান্ডার্ড UUID ফরম্যাট (ভার্সন 1–8)

    /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

    ✓ 123e4567-e89b-42d3-a456-426614174000✗ 123e4567-e89b-42d3-c456-426614174000 123e4567e89b42d3a456426614174000

  • সেমান্টিক ভার্সন

    MAJOR.MINOR.PATCH, ঐচ্ছিক প্রি-রিলিজ ও বিল্ড মেটাডেটাসহ

    /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/

    ✓ 1.0.0 2.1.3-beta.1+build.5✗ 1.0 01.0.0 v1.0.0

  • HTML ট্যাগ জোড়া

    মিল থাকা খোলা ও বন্ধ ট্যাগ খুঁজে ট্যাগের নাম ও কনটেন্ট ধরে

    /<([a-zA-Z][\w-]*)\b[^>]*>([\s\S]*?)<\/\1>/g

    ✓ <b>bold</b> <a href="#">link</a>✗ <b>unclosed plain text

  • ফাঁকা লাইন

    m ফ্ল্যাগে খালি বা শুধু সাদা স্থান থাকা লাইন খুঁজে, যেমন সেগুলো মুছে ফেলতে

    /^\s*$/m

    ✓ ✗ text

প্যাটার্ন JavaScript সিনট্যাক্স ব্যবহার করে এবং Java, Python ও Go-এর মতো বেশিরভাগ ভাষায় কাজ করে (ব্যাকস্ল্যাশ এস্কেপ মনে রাখুন)। এগুলো শুধু ফরম্যাট পরীক্ষা করে; ID বা কার্ড নম্বর সত্যি কি না জানতে চেকসাম বা সরকারি যাচাই দরকার।

কীভাবে ব্যবহার করবেন

  1. কোনো ফরম্যাট খুঁজুন অথবা বিভাগ দিয়ে ফিল্টার করুন।
  2. প্যাটার্নটি নিতে "কপি" বোতামে ক্লিক করুন; কোনো string-এ বসালে backslash দ্বিগুণ করুন।
  3. মিলছে কি না সঙ্গে সঙ্গে দেখতে কোনো কার্ডের নিচের বাক্সে লিখুন।

অপশনগুলোর ব্যাখ্যা

সিনট্যাক্স
JavaScript-এর জন্য লেখা এবং Java, Python, Go ও PHP-এর মতো বেশিরভাগ ভাষার সঙ্গে সামঞ্জস্যপূর্ণ; string literal-এর ভেতরে backslash দ্বিগুণ করুন।
পুরো স্ট্রিং মিলানো
যাচাইয়ের প্যাটার্নে ^ ও $ anchor থাকে, তাই পুরো ইনপুট মিলতে হবে। দীর্ঘ টেক্সটে খুঁজতে anchor দুটো বাদ দিয়ে g flag যোগ করুন।
ফরম্যাট বনাম বৈধতা
প্যাটার্ন শুধু ফরম্যাট পরীক্ষা করে। কোনো ID বা কার্ড নম্বর সত্যিই আসল কি না জানতে checksum বা সরকারি যাচাই দরকার।

প্যাটার্ন কীভাবে গড়া হয়: IPv4 উদাহরণ

IPv4 প্যাটার্নে ভ্যালিডেশন regex-এর সাধারণ কাঠামো দেখা যায়। একটি অক্টেট লেখা হয় ক্রমানুসারে পরীক্ষিত চারটি বিকল্প দিয়ে, যাতে প্রতিটি শুধু 0–255 গ্রহণ করে:

25[0-5]      250–255
2[0-4]\d     200–249
1\d\d        100–199
[1-9]?\d     0–99, with no leading zero

পুরো প্যাটার্নটি (octet\.){3}octet, যা ^ ও $ দিয়ে বাঁধা। এ কারণেই 192.168.1.1 মেলে, কিন্তু 256.1.1.1, 01.2.3.4 ও 1.2.3 মেলে না।

ফরম্যাট মানেই বৈধতা নয়

প্যাটার্ন শুধু গড়ন পরীক্ষা করে। তারিখের প্যাটার্ন 2026-02-30 গ্রহণ করে, কারণ এটি প্রতিটি মাসে 30 তারিখ অনুমোদন করে, আর 2026-13-01 বাদ দেয়, কারণ 13 নম্বর মাস নেই। আসল তারিখ যাচাইয়ে regex পরীক্ষার পর আপনার ভাষার তারিখ লাইব্রেরি দিয়ে মানটি পার্স করুন।

সচরাচর জিজ্ঞাসিত প্রশ্ন

ইমেইল regex পুরোপুরি RFC-সম্মত নয় কেন?

সম্পূর্ণ RFC 5322-সম্মত regex অত্যন্ত বড় এবং বাস্তবের অল্প কিছু ভুলই আটকায়। নমনীয় যাচাই ব্যবহার করুন এবং verification email পাঠিয়ে ঠিকানাটি নিশ্চিত করুন।

আরও জটিল regex কীভাবে ডিবাগ করব?

regex tester ব্যবহার করুন; এটি প্রতিটি match ও group হাইলাইট করতে পারে এবং replacement পরীক্ষা করতে পারে।

এই প্যাটার্নগুলো কি Unicode সমর্থন করে?

বেশিরভাগ প্যাটার্ন ASCII ইনপুট লক্ষ্য করে। যেকোনো লিপির অক্ষর গ্রহণ করতে হলে u flag এবং \p{L}-এর মতো Unicode property escape যোগ করুন।

গোপনীয়তা

এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।

সম্পর্কিত টুল