Complex Text Patterns Matching (e.g. Hashtags, Mentions) গাইড ও নোট

Web Development - জাভাস্ক্রিপ্ট রেগএক্সপি (Javascript RegExp) - Complex Pattern Matching এবং Case Studies
188

RegExp-এ Complex Text Patterns Matching এর মাধ্যমে আপনি নির্দিষ্ট কাঠামো অনুসরণ করা টেক্সটের ধরন যেমন Hashtags (#), Mentions (@) বা অন্যান্য কাস্টম প্যাটার্নগুলো খুঁজে বের করতে পারেন। এই ধরনের প্যাটার্ন সাধারণত সোশ্যাল মিডিয়া বা ব্লগ প্ল্যাটফর্মে ব্যবহৃত হয়, যেখানে নির্দিষ্ট চিহ্নের পর একটি শব্দ বা নাম আসে। RegExp-এর মাধ্যমে আপনি সহজেই এই ধরনের প্যাটার্নগুলো শনাক্ত এবং প্রক্রিয়া করতে পারেন।


Hashtags (#)

Hashtags সাধারণত # চিহ্ন দিয়ে শুরু হয় এবং তারপর একটি বা একাধিক অক্ষর, সংখ্যা, অথবা আন্ডারস্কোর থাকে। RegExp দিয়ে আপনি এই ধরনের প্যাটার্ন খুঁজে বের করতে পারেন।


Hashtag Matching RegExp উদাহরণ

let regex = /#\w+/g;
let str = "I love #JavaScript and #React!";
let matches = str.match(regex);
console.log(matches);  // ["#JavaScript", "#React"]

এখানে, / #\w+/g প্যাটার্নটি:

  • #: একটি হ্যাশট্যাগ চিহ্নের জন্য।
  • \w+: এক বা একাধিক word character (অক্ষর, সংখ্যা, বা আন্ডারস্কোর)।
  • g: গ্লোবাল ফ্ল্যাগ, যা পুরো স্ট্রিং স্ক্যান করতে সাহায্য করে।

এটি #JavaScript এবং #React হ্যাশট্যাগগুলো মেলে দিয়েছে।


Mentions (@)

Mentions সাধারণত @ চিহ্ন দিয়ে শুরু হয় এবং তারপর ব্যবহারকারীর নাম বা আইডি থাকে। RegExp ব্যবহার করে আপনি @ চিহ্নের পরে থাকা নাম বা আইডি শনাক্ত করতে পারেন।


Mention Matching RegExp উদাহরণ

let regex = /@\w+/g;
let str = "Hello @john, meet @doe!";
let matches = str.match(regex);
console.log(matches);  // ["@john", "@doe"]

এখানে, / @\w+/g প্যাটার্নটি:

  • @: একটি মেনশন চিহ্নের জন্য।
  • \w+: এক বা একাধিক word character (অক্ষর, সংখ্যা, বা আন্ডারস্কোর)।
  • g: গ্লোবাল ফ্ল্যাগ, যা পুরো স্ট্রিং স্ক্যান করতে সাহায্য করে।

এটি @john এবং @doe মেনশনগুলো খুঁজে পেয়ে মেলিয়েছে।


Complex Patterns: Hashtags and Mentions একসাথে

আপনি যদি একই স্ট্রিংয়ের মধ্যে hashtags এবং mentions একসাথে খুঁজতে চান, তবে একাধিক প্যাটার্নের সমন্বয়ে একটি RegExp তৈরি করতে পারেন।


উদাহরণ: Hashtags এবং Mentions একসাথে

let regex = /(?:#\w+|@\w+)/g;
let str = "Hello @john, check out #JavaScript and #React!";
let matches = str.match(regex);
console.log(matches);  // ["@john", "#JavaScript", "#React"]

এখানে, (?:#\w+|@\w+) প্যাটার্নটি:

  • (?: ...): Non-capturing group, যা গ্রুপিং ছাড়া প্যাটার্নগুলো মিলাবে।
  • #\w+: একটি হ্যাশট্যাগ খুঁজবে, যার পর word character থাকবে।
  • @\w+: একটি মেনশন খুঁজবে, যার পর word character থাকবে।
  • |: OR অপারেটর, যা দুটি শর্তের মধ্যে মিল খুঁজতে সাহায্য করে।

এটি @john, #JavaScript, এবং #React মেলাচ্ছে।


More Complex Pattern Examples

আপনি আরও জটিল প্যাটার্ন তৈরি করতে পারেন, যেমন:

  • Hashtags যেগুলিতে শুধুমাত্র অক্ষর এবং সংখ্যার পাশাপাশি হাইফেন (-) থাকতে পারে।
  • Mentions যেগুলিতে অক্ষরের পাশাপাশি ডট (.) বা হাইফেন (-) থাকতে পারে।

উদাহরণ: Complex Hashtags

let regex = /#\w+(-\w+)*\b/g;
let str = "Check out #javaScript-101 and #React-Versions!";
let matches = str.match(regex);
console.log(matches);  // ["#javaScript-101", "#React-Versions"]

এখানে, #\w+(-\w+)*\b প্যাটার্নটি:

  • #: হ্যাশট্যাগ চিহ্ন।
  • \w+: শব্দ চরিত্র।
  • (-\w+)*: এক বা একাধিক হাইফেন (-) এবং তারপর একটি শব্দ চরিত্র।
  • \b: শব্দের সীমানা।

এটি #javaScript-101 এবং #React-Versions মেলাবে।


উদাহরণ: Complex Mentions

let regex = /@\w+(-\w+)*\b/g;
let str = "Hello @john_doe and @jane-doe!";
let matches = str.match(regex);
console.log(matches);  // ["@john_doe", "@jane-doe"]

এখানে, @\w+(-\w+)*\b প্যাটার্নটি:

  • @: মেনশন চিহ্ন।
  • \w+: শব্দ চরিত্র।
  • (-\w+)*: এক বা একাধিক হাইফেন (-) এবং তারপর একটি শব্দ চরিত্র।
  • \b: শব্দের সীমানা।

এটি @john_doe এবং @jane-doe মেলাবে।


সারাংশ

Hashtags এবং Mentions এর মতো Complex Text Patterns খুঁজে বের করতে RegExp অত্যন্ত কার্যকর। আপনি বিভিন্ন প্যাটার্নের সাথে যেমন #\w+ এবং @\w+ ব্যবহার করে সোশ্যাল মিডিয়া টেক্সট বা অন্যান্য স্ট্রিংয়ের মধ্যে নির্দিষ্ট চিহ্নের পর থাকা নাম বা ট্যাগ শনাক্ত করতে পারেন। এছাড়া, OR অপারেটর এবং non-capturing group ব্যবহার করে আপনি একাধিক প্যাটার্ন একসাথে মিলিয়ে আরও জটিল পরিস্থিতি মেলাতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...