রেজেক্স টেস্টার
আপনার ব্রাউজারে তাৎক্ষণিকভাবে রেগুলার এক্সপ্রেশন টেস্ট করুন। মিল হাইলাইট করুন, ক্যাপচার গ্রুপ দেখুন, রিপ্লেস মোড ব্যবহার করুন — বিনামূল্যে এবং গোপনীয়।
আপনার ব্রাউজারে তাৎক্ষণিকভাবে রেগুলার এক্সপ্রেশন টেস্ট করুন। মিল হাইলাইট করুন, ক্যাপচার গ্রুপ দেখুন, রিপ্লেস মোড ব্যবহার করুন — বিনামূল্যে এবং গোপনীয়।
রেগুলার এক্সপ্রেশন হল টেক্সটে মিলিত নিদর্শনগুলির জন্য একটি ডোমেন-নির্দিষ্ট ভাষা। এগুলি 1968 সাল থেকে কম্পিউটিংয়ের অংশ এবং এখন প্রতিটি আধুনিক প্রোগ্রামিং ভাষা, পাঠ্য সম্পাদক এবং কমান্ড-লাইন অনুসন্ধান সরঞ্জামগুলিতে তৈরি করা হয়েছে। সিনট্যাক্স সংক্ষিপ্ত কিন্তু ত্রুটি-প্রবণ: ছোট পরিবর্তনগুলি সূক্ষ্মভাবে ভিন্ন ম্যাচ আচরণ তৈরি করে এবং জটিল অভিব্যক্তিগুলি দ্রুত অপাঠ্য হয়ে ওঠে। আপনি প্যাটার্ন এডিট করার সাথে সাথে রিয়েল টাইমে ম্যাচ দেখায় এমন একজন পরীক্ষক হল রেজেক্স ডেভেলপ ও যাচাই করার সবচেয়ে কার্যকর উপায়।
এই পরীক্ষক আপনার ব্রাউজারে JavaScript regex ইঞ্জিন ব্যবহার করে চলে (যেটি আপনার অ্যাপ্লিকেশন ব্যবহার করে যদি এটি একটি ব্রাউজারে চলে)। প্যাটার্নস এবং টেস্ট টেক্সট রিঅ্যাকটিভলি আপডেট: প্রতিটি পরিবর্তন হয় ম্যাচ পুনরায় রান করে। ম্যাচ গ্রুপগুলি হাইলাইট করা হয়, ক্যাপচার করা গ্রুপগুলি তালিকাভুক্ত করা হয় এবং পতাকাগুলি (কেস-সংবেদনশীল, মাল্টিলাইন, গ্লোবাল) পরীক্ষার জন্য উন্মুক্ত করা হয়।
রেজেক্স সিনট্যাক্স ইঞ্জিনের মধ্যে সূক্ষ্মভাবে পরিবর্তিত হয়। জাভাস্ক্রিপ্ট ECMAScript স্পেক অনুসরণ করে; পাইথন, পিসিআরই (পিএইচপি এবং আরও অনেকের দ্বারা ব্যবহৃত), জাভা, এবং গো প্রত্যেকের নিজস্ব উপভাষা রয়েছে ওভারল্যাপিং সহ কিন্তু অভিন্ন বৈশিষ্ট্য নয়। এখানে বিকশিত নিদর্শন ECMAScript বাক্য গঠন ব্যবহার করে; ক্রস-ইঞ্জিন বহনযোগ্যতার জন্য প্রতিটি লক্ষ্যের ডকুমেন্টেশন পরীক্ষা করা প্রয়োজন।
রেজেক্স বাগগুলি স্থাপনের পরে ডিবাগ করা কুখ্যাতভাবে কঠিন। একটি প্যাটার্ন যা যুক্তিসঙ্গত দেখায় তা উদ্দেশ্যের চেয়ে কম বা বেশি মেলে, প্রান্তের ক্ষেত্রে ব্যর্থ হতে পারে বা নির্দিষ্ট ইনপুটগুলিতে বিপর্যয়কর ব্যাকট্র্যাকিং থাকতে পারে। কোড পর্যালোচনা এবং উত্পাদনের আগে প্রতিনিধি ইনপুটের বিরুদ্ধে ইন্টারেক্টিভভাবে পরীক্ষার নিদর্শনগুলি সমস্যাগুলি ধরে।
প্যাটার্নগুলি ডকুমেন্টেশন থেকেও উপকৃত হয়। ইনপুটটির সাথে একটি রেজেক্স দেখালে এটি মেলে এবং যে ইনপুটটি মেলে না তা অভিপ্রায়কে স্পষ্ট করে তোলে৷ ভবিষ্যত রক্ষণাবেক্ষণকারীরা (ছয় মাসের মধ্যে নিজেকে সহ) তারা চতুর ওয়ান-লাইনারদের প্রশংসা করার চেয়ে নথিভুক্ত পরীক্ষার ক্ষেত্রে বেশি প্রশংসা করে।
একটি প্যাটার্ন টাইপ করুন, টেস্ট ইনপুট টাইপ করুন, লাইভ হাইলাইট করা ম্যাচগুলি দেখুন।
JavaScript regex ECMAScript স্পেসিফিকেশন অনুসরণ করে। প্রধান বৈশিষ্ট্য: ক্যারেক্টার ক্লাস ([abc], [^abc]), কোয়ান্টিফায়ার (*, +, ?, {n,m}), বিকল্প (|), গোষ্ঠীকরণ (...)), ক্যাপচারিং এবং নন-ক্যাপচারিং গ্রুপ, লুকআহেড এবং লুক বিহাইন্ড (আধুনিক ইঞ্জিন), ব্যাকরেফারেন্স, নামযুক্ত গ্রুপ, ইউনিকোড প্রপার্টি এস্কেপস (ইক্যুয়েন্স ফ্ল্যাগ এবং স্ট্যান্ডার্ড সেট সহ),
PCRE এবং Python থেকে গুরুত্বপূর্ণ পার্থক্য: লুকবিহাইন্ড সমর্থন জাভাস্ক্রিপ্ট (2018+) এ সাম্প্রতিক; নামযুক্ত গোষ্ঠী (?<name>...) সিনট্যাক্স ব্যবহার করে; কিছু ইউনিকোড এস্কেপ সঠিকভাবে কাজ করার জন্য u পতাকা প্রয়োজন। আন্তঃভাষা ব্যবহারের জন্য অভিপ্রেত প্যাটার্নগুলি প্রতিটি লক্ষ্যের ডকুমেন্টেশনের বিপরীতে পরীক্ষা করা উচিত।
কর্মক্ষমতা: ব্যাকট্র্যাকিং-ভিত্তিক রেজেক্স ইঞ্জিনগুলি (বেশিরভাগ জাভাস্ক্রিপ্ট সহ) নির্দিষ্ট প্যাথলজিকাল প্যাটার্নগুলিতে বিপর্যয়কর ব্যাকট্র্যাকিং থাকতে পারে। যে পরীক্ষাগুলি পরীক্ষককে ঝুলিয়ে রাখে তা একটি চিহ্ন যে প্যাটার্নটির সরলীকরণ প্রয়োজন — সাধারণত নেস্টেড কোয়ান্টিফায়ার এবং অস্পষ্ট বিকল্প এড়ানোর মাধ্যমে।