কম্পিউটার টিউটোরিয়াল

JavaScript-এ রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিংয়ে মাল্টিপল অকারেন্স ম্যাচ করা

JavaScript-এ রেগুলার এক্সপ্রেশনের g (global) ফ্ল্যাগ ব্যবহার করে স্ট্রিংয়ে একাধিকবার আসা প্যাটার্নের সব ম্যাচ বের করা যায়।

সিনট্যাক্স

string.match(/pattern/g)

উদাহরণ

function findMultipleOccurrences(sentence) {
    // 'JavaScript' বা 'typescript' で始まる単語 (大文字小文字区別なし)
    var regex = /(JavaScript?[^\s]+)|(typescript?[^\s]+)/gi;
    return sentence.match(regex);
}

var text = "This is my first JavaScript Program which is the subset of typescript";
console.log("টেক্সট: " + text);
console.log("ম্যাচগুলো:", findMultipleOccurrences(text));

চলানোর পদ্ধতি

  1. কোডটি multiMatch.js নামে সংরক্ষণ করুন।
  2. টার্মিনালে চালান: node multiMatch.js

আউটপুট

টেক্সট: This is my first JavaScript Program which is the subset of typescript
ম্যাচগুলো: [ 'JavaScript', 'typescript' ]

রেগেক্স ব্যাখ্যা

প্যাটার্নঅর্থ
JavaScript?'JavaScript' বা 'Javascript' (s অপশনাল)
[^\s]+স্পেস না হওয়া ক্যারেক্টার এক বা অধিকবার
|অথবা (OR)
gig=global (সব ম্যাচ), i=case-insensitive

আরো উদাহরণ

// সব ইমেইল বের করা
const emails = "Contact: a@b.com, x@y.org, test@domain.net".match(/[\w.]+@[\w.]+\.\w+/g);
// ['a@b.com', 'x@y.org', 'test@domain.net']

// সব সংখ্যা বের করা
const numbers = "Price: $100, Discount: 20%, Tax: 5.5".match(/\d+(\.\d+)?/g);
// ['100', '20', '5.5']

// matchAll() ব্যবহার (ES2020) - আরও ডিটেইলস
const matches = [...text.matchAll(/pattern/g)];
matches.forEach(m => console.log(m[0], "ইনডেক্স:", m.index));

সতর্কতা

  • ম্যাচ না হলে `null` রিটার্ন হয় (অ্যারে না), তাই `|| []` ব্যবহার করুন।
  • রেগেক্সে 스페シャル ক্যারেক্টার এস্কেপ করুন: `\. \* \+ \? \^ \$ \{ \} \( \) \[ \] \| \\`।
  • পারফরম্যান্স: খুব জটিল রেগেক্স ক্যাটাস্ট্রোফিক ব্যাকট্র্যাকিং করতে পারে।
  1. জাভাস্ক্রিপ্টে মাল্টি-স্টেপ ফর্ম (Multi-step Form) তৈরি করা

  2. জাভাস্ক্রিপ্ট স্ট্রিং: 'i' কে '1' এবং 'o' কে '0' দিয়ে রিপ্লেস করা

  3. জাভাস্ক্রিপ্টে স্ট্রিং-এ একাধিক ক্যারেক্টারকে এস্টারিস্ক দিয়ে রিপ্লেস করা

  4. জাভাস্ক্রিপ্টে স্ট্রিং ভ্যালিডেশন (নম্বর অনুযায়ী সাবস্ট্রিং দৈর্ঘ্য যাচাই)