জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশন পরিচিতি
রেগুলার এক্সপ্রেশন হল জটিল খোঁজ এবং প্রতিস্থাপন (বা শুধু খোঁজ) করার জন্য কমান্ড। এগুলি খুব আকর্ষণীয় জিনিস করতে দেয়, কিন্তু দুর্ভাগ্যবশত, আয়ত্ত করা বেশ কঠিন।
জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশন নিয়ে কাজ করার জন্য বিভিন্ন পদ্ধতি রয়েছে।
আমরা replace পদ্ধতির উদাহরণ দিয়ে এগুলির সাথে পরিচিত হতে শুরু করব -
আপনি এই পদ্ধতির সাথে ইতিমধ্যেই পরিচিত: এটি প্রথম প্যারামিটার হিসেবে নেয় কী পরিবর্তন করতে হবে, এবং দ্বিতীয় প্যারামিটার হিসেবে -
কী দিয়ে পরিবর্তন করতে হবে। এবং পদ্ধতিটি সেই স্ট্রিংতে প্রয়োগ করা হয় যেখানে প্রতিস্থাপন করা হচ্ছে:
'bab'.replace('a', '!'); // ফেরত দেবে 'b!b'
এই পদ্ধতির প্রথম প্যারামিটার হিসেবে শুধু একটি স্ট্রিং নয়, একটি রেগুলার এক্সপ্রেশনও পাঠানো যেতে পারে।
একটি রেগুলার এক্সপ্রেশন হল / স্ল্যাশের ভিতরে থাকা কমান্ডের একটি সেট। এই
স্ল্যাশগুলিকে রেগুলার এক্সপ্রেশনের ডিলিমিটার বলা হয়।
রেগুলার এক্সপ্রেশনগুলি নিজেই দুই ধরণের অক্ষর নিয়ে গঠিত: যেগুলি নিজেদেরকে প্রতিনিধিত্ব করে এবং যেগুলি কমান্ড-অক্ষর, যেগুলিকে বিশেষ অক্ষর বলা হয়।
বর্ণ এবং সংখ্যাগুলি নিজেদেরকে প্রতিনিধিত্ব করে। নিম্নলিখিত
উদাহরণে আমরা একটি রেগুলার এক্সপ্রেশন ব্যবহার করে
'a' বর্ণটিকে ! দিয়ে প্রতিস্থাপন করব:
'bab'.replace(/a/, '!'); // ফেরত দেবে 'b!b'
কিন্তু একটি ডট একটি বিশেষ অক্ষর
এবং এটি যেকোনো অক্ষর কে প্রতিনিধিত্ব করে। নিম্নলিখিত
উদাহরণে আমরা এই প্যাটার্ন অনুসারে স্ট্রিংটি খুঁজে পাব:
বর্ণ 'x', তারপর যেকোনো অক্ষর, তারপর
আবার বর্ণ 'x':
'xax eee'.replace(/x.x/, '!'); // ফেরত দেবে '! eee'
ডিলিমিটারগুলির পরে মডিফায়ার
লেখা যায় - কমান্ডগুলি যা রেগুলার এক্সপ্রেশনের সাধারণ বৈশিষ্ট্য পরিবর্তন করে।
উদাহরণস্বরূপ, g মডিফায়ার
গ্লোবাল সার্চ এবং রিপ্লেস মোড সক্রিয় করে - এটি ছাড়া রেগুলার এক্সপ্রেশন শুধুমাত্র প্রথম মিল খুঁজে,
আর এটি দিয়ে - সমস্ত মিল খুঁজে পায়।
নিম্নলিখিত উদাহরণে g মডিফায়ার
উল্লেখ করা হয়নি এবং রেগুলার এক্সপ্রেশন শুধুমাত্র প্রথম মিলটি খুঁজে পাবে:
'aab'.replace(/a/, '!'); // ফেরত দেবে '!ab'
এবং এখন রেগুলার এক্সপ্রেশন সমস্ত মিল খুঁজে পাবে:
'aab'.replace(/a/g, '!'); // ফেরত দেবে '!!b'
একটি স্ট্রিং দেওয়া আছে:
let str = 'ahb acb aeb aeeb adcb axeb';
একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি খুঁজে পাবে
'ahb', 'acb', 'aeb'
এই প্যাটার্ন অনুসারে: বর্ণ 'a', যেকোনো অক্ষর,
বর্ণ 'b'।
একটি স্ট্রিং দেওয়া আছে:
let str = 'aba aca aea abba adca abea';
একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি খুঁজে পাবে
'abba', 'adca', 'abea'
এই প্যাটার্ন অনুসারে: বর্ণ 'a', 2
যেকোনো অক্ষর, বর্ণ 'a'।
একটি স্ট্রিং দেওয়া আছে:
let str = 'aba aca aea abba adca abea';
একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি খুঁজে পাবে
'abba' এবং 'abea', 'adca' কে ধরে না।