জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশনের স্ট্রিংগুলিতে ব্যাকস্ল্যাশ
রেগুলার এক্সপ্রেশনের স্ট্রিংগুলিতে ব্যাকস্ল্যাশকে এস্কেপ করতে হয় (মূলত দ্বিগুণ করতে হয়)। আসুন একটি উদাহরণ দেখি। ধরুন আমাদের নিম্নলিখিত স্ট্রিংটি আছে:
let str = 'xyz';
ধরুন আমাদের নিম্নলিখিত কোডটি আছে একটি রেগুলার এক্সপ্রেশন সহ:
let reg = /\w+/;
let res = str.match(reg);
আসুন রেগুলার এক্সপ্রেশনটি একটি স্ট্রিংয়ে রূপান্তর করি। এই ক্ষেত্রে, ব্যাকস্ল্যাশ নিয়ে একটি সমস্যা দেখা দেবে:
let reg = new RegExp('\w+'); // কাজ করে না
let res = str.match(reg);
সমস্যা সমাধানের জন্য ব্যাকস্ল্যাশকে দ্বিগুণ করা যাক:
let reg = new RegExp('\\w+'); // কাজ করে
let res = str.match(reg);
ব্যবহারিক কাজ
রেগুলার এক্সপ্রেশনটি একটি স্ট্রিংয়ে রূপান্তর করুন:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
রেগুলার এক্সপ্রেশনটি একটি স্ট্রিংয়ে রূপান্তর করুন:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
রেগুলার এক্সপ্রেশনটি একটি স্ট্রিংয়ে রূপান্তর করুন:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');