Regex টেস্টার টেস্ট টেক্সটের বিপরীতে রিয়েল টাইমে regular expression মূল্যায়ন করে। ম্যাচগুলো পালাক্রমে ভিন্ন রঙে হাইলাইট হয়, প্রতিটি ম্যাচের ক্যাপচার গ্রুপ এবং নেমড গ্রুপ আলাদাভাবে দেখানো হয়, এবং সব স্ট্যান্ডার্ড ফ্ল্যাগ (g, i, m, s, u, y) সাপোর্ট করা হয়। একটি রিপ্লেস মোড দেখায় কীভাবে সাবস্টিটিউশন টেক্সট বদলে দেয়।
Regular expression হলো টেক্সট-প্যাটার্নের সর্বজনীন ভাষা, কিন্তু এটি সঠিকভাবে লিখতে বেশ কয়েকবার চেষ্টা করতে হয়। Regex Tester সেই প্রক্রিয়াটিকে তাৎক্ষণিক করে তোলে। একটি প্যাটার্ন টাইপ করুন এবং টাইপ করার সাথে সাথে টেস্ট টেক্সটে ম্যাচগুলো হাইলাইট হতে দেখুন।
প্রতিটি ম্যাচ কার্ড ম্যাচ হওয়া substring, তার ইনডেক্স, এবং প্রতিটি capture group ($1, $2, ...) ও named group আলাদাভাবে দেখায় — আপনার গ্রুপগুলো প্রত্যাশামতো ক্যাপচার করেছে কিনা তা আর অনুমান করতে হবে না। JavaScript regex-এর সবকটি ছয়টি ফ্ল্যাগ সমর্থিত, একটি কমপ্যাক্ট ফ্ল্যাগ ইনপুট (gi, gim) এবং একটি বন্ধুসুলভ চেকবক্স সারি — উভয়ের মাধ্যমেই। Replace মোড আপনার প্যাটার্ন ও replacement স্ট্রিং দিয়ে String.replace চালায় — $& (সম্পূর্ণ ম্যাচ), $1..$9 (গ্রুপ), এবং named backreference সমর্থন করে।
যেহেতু ম্যাচিং JavaScript-এর নেটিভ regex ইঞ্জিনের বিপরীতে চলে, তাই ফলাফল ঠিক প্রতিফলিত করে আপনার কোড প্রোডাকশনে কী করবে — যার মধ্যে JS-নির্দিষ্ট আচরণও রয়েছে যা PCRE বা Python-এর re মডিউল থেকে আলাদা, যেমন lookbehind সাপোর্ট এবং Unicode property escape কীভাবে হ্যান্ডেল করা হয়। যদি কোনো প্যাটার্নে catastrophic backtracking-এর ঝুঁকি থাকে — nested quantifier যা নির্দিষ্ট ইনপুটে এক্সপোনেনশিয়াল ম্যাচিং টাইম তৈরি করতে পারে — তাহলে ট্যাব ফ্রিজ হতে দেওয়ার বদলে দীর্ঘ সময় ধরে চলা ম্যাচগুলো ফ্ল্যাগ করা হয়, ফলে আপনি বিপজ্জনক প্যাটার্ন টেস্টিংয়ের সময়ই ধরতে পারেন, প্রোডাকশনে আসল ট্র্যাফিকের অধীনে আবিষ্কার করার বদলে। সবকিছু লোকালি চলে, তাই আপনার ইনপুট কখনো মেশিনের বাইরে যায় না।
টাইপ করার সাথে সাথে ম্যাচগুলো পালাক্রমে বেগুনি ও সবুজ রঙে হাইলাইট হয় — স্ক্রিপ্ট রান না করেই দেখুন regex ঠিক কী ক্যাপচার করছে।
প্রতিটি ম্যাচে দেখা যায় সোর্সে তার ইনডেক্স, ম্যাচ হওয়া সাবস্ট্রিং, এবং প্রতিটি ক্যাপচার গ্রুপ ($1, $2, ...) ও নেমড গ্রুপ তার ভ্যালু সহ।
g (গ্লোবাল), i (কেস ইগনোর), m (মাল্টিলাইন), s (dotAll), u (ইউনিকোড), y (স্টিকি) সাপোর্ট করে। কম্প্যাক্ট ইনপুট বা চেকবক্স রো দিয়ে টগল করুন।
$&, $1..$9, বা $<name> ব্যাকরেফ দিয়ে একটি রিপ্লেসমেন্ট স্ট্রিং লিখুন। তাৎক্ষণিকভাবে টেস্ট টেক্সট বদলাতে Replace ক্লিক করুন।
প্রতিটি কি-স্ট্রোকে আউটপুট লাইভ আপডেট হয়। কোনো Run বাটন নেই — ম্যাচ ঠিক না হওয়া পর্যন্ত প্যাটার্ন টিউন করতে থাকুন।
অবৈধ regex সিনট্যাক্স হলে JavaScript ইঞ্জিনের সঠিক এরর মেসেজ দেখানো হয়, যাতে সিনট্যাক্স দ্রুত ঠিক করা যায়।
ইমেইল, ফোন নম্বর বা ZIP কোডের জন্য একটি regex তৈরি করুন, তারপর প্রোডাকশন কোডে যাওয়ার আগে এজ কেসগুলোর বিপরীতে টেস্ট করুন।
লগ লাইন থেকে গঠনগত ফিল্ড (টাইমস্ট্যাম্প, ID, IP) বের করুন, প্রতিটি প্রত্যাশিত ফরম্যাট মিলে যাওয়া পর্যন্ত regex-এ পরিবর্তন করতে থাকুন।
শত শত ফাইলে চালানোর আগে যাচাই করুন যে আপনার ফাইন্ড/রিপ্লেস regex আসল কোড বা টেক্সটে নিরাপদে কাজ করছে।
একটি নিরাপদ, ভিজ্যুয়াল স্যান্ডবক্সে lookahead, lookbehind, non-capturing group, বা ইউনিকোড প্রপার্টি এস্কেপের মতো ফিচার নিয়ে পরীক্ষা করুন।
আপনার কোড থেকে regex পেস্ট করুন, যে ইনপুট ম্যাচ করার কথা ছিল সেটাও দিন, আর দেখুন regex ঠিক কোথায় ব্যর্থ হচ্ছে — আর অনুমান করতে হবে না।
DevSuite Pro ডকে Regex আইকনে ক্লিক করুন। প্যাটার্ন, ফ্ল্যাগ, টেস্ট টেক্সট এবং রিপ্লেসমেন্ট ফিল্ড সহ একটি প্যানেল খুলবে।
স্ল্যাশের মাঝে আপনার regex টাইপ করুন। ফ্ল্যাগ সরাসরি টাইপ করা যায় (gi) অথবা নিচের চেকবক্স দিয়ে টগল করা যায়।
Test Text এরিয়ায় খোঁজার জন্য টেক্সট পেস্ট করুন। ম্যাচগুলো তাৎক্ষণিক হাইলাইট হবে।
নিচের Match Details লিস্টে প্রতিটি ম্যাচের ইনডেক্স এবং ক্যাপচার হওয়া গ্রুপ দেখানো হয়। নিশ্চিত করুন আপনার গ্রুপ প্রত্যাশিত জিনিসই ক্যাপচার করছে।
$1, $&, বা $<name> ব্যাকরেফ দিয়ে একটি রিপ্লেসমেন্ট স্ট্রিং লিখুন। সেখানেই টেক্সট বদলাতে Replace ক্লিক করুন।
বিনামূল্যে DevSuite Pro ইনস্টল করুন এবং আপনার ব্রাউজারের জন্য ৬৪+ ডেভলপার টুল আনলক করুন।