বিনামূল্যে কনভার্টার

রেজেক্স টেস্টার

আপনার ব্রাউজারে তাৎক্ষণিকভাবে রেগুলার এক্সপ্রেশন টেস্ট করুন। মিল হাইলাইট করুন, ক্যাপচার গ্রুপ দেখুন, রিপ্লেস মোড ব্যবহার করুন — বিনামূল্যে এবং গোপনীয়।

//g
ফ্ল্যাগ:

এই টুল সম্পর্কে

রেগুলার এক্সপ্রেশন হল টেক্সটে মিলিত নিদর্শনগুলির জন্য একটি ডোমেন-নির্দিষ্ট ভাষা। এগুলি 1968 সাল থেকে কম্পিউটিংয়ের অংশ এবং এখন প্রতিটি আধুনিক প্রোগ্রামিং ভাষা, পাঠ্য সম্পাদক এবং কমান্ড-লাইন অনুসন্ধান সরঞ্জামগুলিতে তৈরি করা হয়েছে। সিনট্যাক্স সংক্ষিপ্ত কিন্তু ত্রুটি-প্রবণ: ছোট পরিবর্তনগুলি সূক্ষ্মভাবে ভিন্ন ম্যাচ আচরণ তৈরি করে এবং জটিল অভিব্যক্তিগুলি দ্রুত অপাঠ্য হয়ে ওঠে। আপনি প্যাটার্ন এডিট করার সাথে সাথে রিয়েল টাইমে ম্যাচ দেখায় এমন একজন পরীক্ষক হল রেজেক্স ডেভেলপ ও যাচাই করার সবচেয়ে কার্যকর উপায়।

এই পরীক্ষক আপনার ব্রাউজারে JavaScript regex ইঞ্জিন ব্যবহার করে চলে (যেটি আপনার অ্যাপ্লিকেশন ব্যবহার করে যদি এটি একটি ব্রাউজারে চলে)। প্যাটার্নস এবং টেস্ট টেক্সট রিঅ্যাকটিভলি আপডেট: প্রতিটি পরিবর্তন হয় ম্যাচ পুনরায় রান করে। ম্যাচ গ্রুপগুলি হাইলাইট করা হয়, ক্যাপচার করা গ্রুপগুলি তালিকাভুক্ত করা হয় এবং পতাকাগুলি (কেস-সংবেদনশীল, মাল্টিলাইন, গ্লোবাল) পরীক্ষার জন্য উন্মুক্ত করা হয়।

রেজেক্স সিনট্যাক্স ইঞ্জিনের মধ্যে সূক্ষ্মভাবে পরিবর্তিত হয়। জাভাস্ক্রিপ্ট ECMAScript স্পেক অনুসরণ করে; পাইথন, পিসিআরই (পিএইচপি এবং আরও অনেকের দ্বারা ব্যবহৃত), জাভা, এবং গো প্রত্যেকের নিজস্ব উপভাষা রয়েছে ওভারল্যাপিং সহ কিন্তু অভিন্ন বৈশিষ্ট্য নয়। এখানে বিকশিত নিদর্শন ECMAScript বাক্য গঠন ব্যবহার করে; ক্রস-ইঞ্জিন বহনযোগ্যতার জন্য প্রতিটি লক্ষ্যের ডকুমেন্টেশন পরীক্ষা করা প্রয়োজন।

কেন একটি Regex পরীক্ষক ব্যবহার করুন

রেজেক্স বাগগুলি স্থাপনের পরে ডিবাগ করা কুখ্যাতভাবে কঠিন। একটি প্যাটার্ন যা যুক্তিসঙ্গত দেখায় তা উদ্দেশ্যের চেয়ে কম বা বেশি মেলে, প্রান্তের ক্ষেত্রে ব্যর্থ হতে পারে বা নির্দিষ্ট ইনপুটগুলিতে বিপর্যয়কর ব্যাকট্র্যাকিং থাকতে পারে। কোড পর্যালোচনা এবং উত্পাদনের আগে প্রতিনিধি ইনপুটের বিরুদ্ধে ইন্টারেক্টিভভাবে পরীক্ষার নিদর্শনগুলি সমস্যাগুলি ধরে।

প্যাটার্নগুলি ডকুমেন্টেশন থেকেও উপকৃত হয়। ইনপুটটির সাথে একটি রেজেক্স দেখালে এটি মেলে এবং যে ইনপুটটি মেলে না তা অভিপ্রায়কে স্পষ্ট করে তোলে৷ ভবিষ্যত রক্ষণাবেক্ষণকারীরা (ছয় মাসের মধ্যে নিজেকে সহ) তারা চতুর ওয়ান-লাইনারদের প্রশংসা করার চেয়ে নথিভুক্ত পরীক্ষার ক্ষেত্রে বেশি প্রশংসা করে।

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

একটি প্যাটার্ন টাইপ করুন, টেস্ট ইনপুট টাইপ করুন, লাইভ হাইলাইট করা ম্যাচগুলি দেখুন।

  1. আপনার প্যাটার্ন লিখুন: প্যাটার্ন ক্ষেত্রে regex প্যাটার্ন টাইপ করুন। উভয় আক্ষরিক regex (/pattern/flags) এবং প্যাটার্ন-শুধু ফর্ম কাজ করে; পতাকা ইনপুট মাধ্যমে পতাকা সেট করা যেতে পারে.
  2. পরীক্ষা ইনপুট যোগ করুন: প্যাটার্নের সাথে মেলে এমন নমুনা টেক্সট পেস্ট করুন (এবং আদর্শভাবে টেক্সটটি মেলে না)। পরীক্ষক ইনপুটের বিপরীতে প্যাটার্ন চালায় এবং ম্যাচগুলিকে হাইলাইট করে।
  3. পতাকা সেট করুন: সাধারণ পতাকা: g (গ্লোবাল, সব মিল খুঁজুন), i (কেস-সংবেদনশীল), m (মাল্টিলাইন, ^ এবং $ ম্যাচ লাইন শুরু/শেষ হয়), s (ডটল, . নতুন লাইনের সাথে মেলে), u (ইউনিকোড)।
  4. ফলাফল পরিদর্শন করুন: প্রতিটি ম্যাচ ইনপুট হাইলাইট করা হয়. ক্যাপচার গ্রুপ গ্রুপ সূচক এবং মান সহ একটি তালিকায় উপস্থিত হয়। পরীক্ষক ম্যাচের গণনা এবং প্যাটার্নে কোনো সংকলন ত্রুটিও দেখায়।

সাধারণ ব্যবহারের ক্ষেত্রে

প্রযুক্তিগত বিবরণ

JavaScript regex ECMAScript স্পেসিফিকেশন অনুসরণ করে। প্রধান বৈশিষ্ট্য: ক্যারেক্টার ক্লাস ([abc], [^abc]), কোয়ান্টিফায়ার (*, +, ?, {n,m}), বিকল্প (|), গোষ্ঠীকরণ (...)), ক্যাপচারিং এবং নন-ক্যাপচারিং গ্রুপ, লুকআহেড এবং লুক বিহাইন্ড (আধুনিক ইঞ্জিন), ব্যাকরেফারেন্স, নামযুক্ত গ্রুপ, ইউনিকোড প্রপার্টি এস্কেপস (ইক্যুয়েন্স ফ্ল্যাগ এবং স্ট্যান্ডার্ড সেট সহ),

PCRE এবং Python থেকে গুরুত্বপূর্ণ পার্থক্য: লুকবিহাইন্ড সমর্থন জাভাস্ক্রিপ্ট (2018+) এ সাম্প্রতিক; নামযুক্ত গোষ্ঠী (?<name>...) সিনট্যাক্স ব্যবহার করে; কিছু ইউনিকোড এস্কেপ সঠিকভাবে কাজ করার জন্য u পতাকা প্রয়োজন। আন্তঃভাষা ব্যবহারের জন্য অভিপ্রেত প্যাটার্নগুলি প্রতিটি লক্ষ্যের ডকুমেন্টেশনের বিপরীতে পরীক্ষা করা উচিত।

কর্মক্ষমতা: ব্যাকট্র্যাকিং-ভিত্তিক রেজেক্স ইঞ্জিনগুলি (বেশিরভাগ জাভাস্ক্রিপ্ট সহ) নির্দিষ্ট প্যাথলজিকাল প্যাটার্নগুলিতে বিপর্যয়কর ব্যাকট্র্যাকিং থাকতে পারে। যে পরীক্ষাগুলি পরীক্ষককে ঝুলিয়ে রাখে তা একটি চিহ্ন যে প্যাটার্নটির সরলীকরণ প্রয়োজন — সাধারণত নেস্টেড কোয়ান্টিফায়ার এবং অস্পষ্ট বিকল্প এড়ানোর মাধ্যমে।

সর্বোত্তম অনুশীলন

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

এই টুলটি কোন রেজেক্স স্বাদ সমর্থন করে?
এটি জাভাস্ক্রিপ্টের অন্তর্নির্মিত RegExp ইঞ্জিন ব্যবহার করে, যা স্ট্যান্ডার্ড সিনট্যাক্সকে সমর্থন করে, যার মধ্যে লুকআহেডস, লুকবিহাইন্ডস (আধুনিক ব্রাউজারে), নামধারী ক্যাপচার গ্রুপ এবং ইউনিকোড প্রপার্টি এস্কেপ।
আমি কি রেজেক্স প্রতিস্থাপন পরীক্ষা করতে পারি?
হ্যাঁ। একটি প্রতিস্থাপন প্যাটার্ন প্রবেশ করতে প্রতিস্থাপন মোডে স্যুইচ করুন। আপনি গ্রুপ ব্যাক-রেফারেন্স ক্যাপচারের জন্য $1, $2, ইত্যাদি এবং নামযুক্ত গোষ্ঠীর জন্য $<name> ব্যবহার করতে পারেন।
কেন আমার রেজেক্স পাইথন/পিএইচপি এর চেয়ে এখানে আলাদাভাবে মেলে?
বিভিন্ন প্রোগ্রামিং ভাষার সামান্য ভিন্ন রেজেক্স ইঞ্জিন রয়েছে। জাভাস্ক্রিপ্ট পসেসিভ কোয়ান্টিফায়ার বা কিছু PCRE-নির্দিষ্ট বৈশিষ্ট্য সমর্থন করে না। কোর সিনট্যাক্স (অক্ষর ক্লাস, কোয়ান্টিফায়ার, গ্রুপ) ভাষা জুড়ে একই।
টুল কি আমার regex নিদর্শন সংরক্ষণ করে?
না। কিছুই সংরক্ষিত বা প্রেরণ করা হয় না। টুলটি সম্পূর্ণরূপে আপনার ব্রাউজারে চলে। আপনি regex স্ট্রিং অনুলিপি করে নিদর্শন বুকমার্ক বা শেয়ার করতে পারেন।
আমি কিভাবে একটি আক্ষরিক বিশেষ অক্ষর মেলে?
ব্যাকস্ল্যাশ দিয়ে এড়িয়ে যান। একটি আক্ষরিক বিন্দু মেলাতে: \. একটি আক্ষরিক ব্যাকস্ল্যাশ মেলে: \\. অক্ষর শ্রেণীর ভিতরে [...], বেশিরভাগ বিশেষ অক্ষর তাদের অর্থ হারিয়ে ফেলে।
পরীক্ষক একটি সার্ভারে চলছে?
না। প্যাটার্ন সংকলন এবং ম্যাচিং আপনার ব্রাউজারে নেটিভ RegExp অবজেক্ট ব্যবহার করে ঘটবে।
আমি কি নন-জাভাস্ক্রিপ্ট ইঞ্জিনের জন্য নিদর্শন পরীক্ষা করতে পারি?
বেশিরভাগই। সাধারণ নিদর্শনগুলির জন্য প্রধান ইঞ্জিনগুলি একমত। উন্নত বৈশিষ্ট্যগুলির জন্য (পেছনে তাকান, পারমাণবিক গোষ্ঠী, অধিকারী কোয়ান্টিফায়ার, ইউনিকোড সম্পত্তি পালানো), লক্ষ্য ইঞ্জিনের ডকুমেন্টেশনের বিরুদ্ধে নিশ্চিত করুন।
এটা কি খুব বড় ইনপুট পরিচালনা করে?
কয়েক মেগাবাইট পর্যন্ত মসৃণভাবে কাজ করে। বৃহত্তর ইনপুটগুলি ব্রাউজারটিকে ধীর বা ঝুলিয়ে দিতে পারে, বিশেষত ব্যাকট্র্যাকিং প্রবণ প্যাটার্নগুলির সাথে।