JavaScript RegExp Objects

RegExp অবজেক্ট সম্পর্কে জানুন

RegExp অবজেক্ট

জাভাস্ক্রিপ্টে, RegExp হল একটি রেগুলার এক্সপ্রেশন অবজেক্ট যার পূর্বনির্ধারিত বৈশিষ্ট্য এবং পদ্ধতি রয়েছে।

পরীক্ষা ব্যবহার করে()

test() পদ্ধতি হল একটি RegExp এক্সপ্রেশন পদ্ধতি।

এটি একটি পদ্ধতির জন্য একটি স্ট্রিং অনুসন্ধান করে, ফলাফলের উপর নির্ভর করে সত্য বা মিথ্যা ফেরত দেয়।

নিম্নলিখিত উদাহরণ একটি স্ট্রিং মধ্যে অক্ষর "e" জন্য অনুসন্ধান করে:

উদাহরণ

const pattern = /e/;
pattern.test("The best things in life are free!");

যেহেতু "e" স্ট্রিং এ আছে, উপরের কোডের আউটপুট হল:

true

আপনাকে প্রথমে একটি ভেরিয়েবলে রেগুলার এক্সপ্রেশন রাখার দরকার নেই। উপরের দুটি লাইন একসাথে ছেদ করা যেতে পারে:

/e/.test("The best things in life are free!");

💡test() পদ্ধতি ব্যবহার করে:

  • ইনপুট যাচাইকরণ (ইমেল, ফোন নম্বর ইত্যাদি)
  • একটি স্ট্রিং একটি প্যাটার্ন রয়েছে কিনা পরীক্ষা করা হচ্ছে
  • শর্তসাপেক্ষ পরীক্ষা
  • ফর্ম বৈধতা

exec() ব্যবহার করে

exec() পদ্ধতি একটি RegExp এক্সপ্রেশন পদ্ধতি।

এটি একটি স্ট্রিং এ একটি নির্দিষ্ট প্যাটার্নের জন্য অনুসন্ধান করে এবং একটি বস্তু হিসাবে পাওয়া পাঠ্য ফেরত দেয়।

যদি কোন মিল পাওয়া যায় না, এটি একটি শূন্য বস্তু প্রদান করে।

উদাহরণ

নিম্নলিখিত উদাহরণ একটি স্ট্রিং মধ্যে অক্ষর "e" জন্য অনুসন্ধান করে:

/e/.exec("The best things in life are free!");

🔍 exec() vs test():

  • test(): শুধুমাত্র একটি মিল আছে কিনা তা পরীক্ষা করে (সত্য/মিথ্যা)।
  • exec(): ম্যাচের বিবরণ প্রদান করে (অবস্থান, গ্রুপ, ইত্যাদি)
  • test()দ্রুত, যখন শুধুমাত্র বুলিয়ান ফলাফল প্রয়োজন
  • exec()যখন মিলিত বিবরণ প্রয়োজন

বিস্তারিত exec() উদাহরণ

const pattern = /\b\w+\b/g;
let text = "Hello Jassif Team";
let result;

while ((result = pattern.exec(text)) !== null) {
  console.log(`Found: ${result[0]} at position: ${result.index}`);
}

📝exec() আউটপুট:

exec() নিম্নলিখিত বৈশিষ্ট্য সহ একটি অ্যারে প্রদান করে:

  • [0]: সম্পূর্ণ ম্যাচ
  • [1], [2], ...: গ্রুপ ম্যাচ
  • index: মিল শুরু করতে কোড
  • input: মূল ইনপুট স্ট্রিং
  • groups: নামধারী গোষ্ঠীর অর্থ

RegExp.escape() পদ্ধতি

RegExp.escape() .

এটি +, *, ?, ^, $, (, ), [, ], {, }, |, এবং \ এর মতো অক্ষরগুলিকে আক্ষরিকভাবে বিবেচনা করা হয় এবং একটি নিয়মিত অভিব্যক্তির অংশ হিসাবে নয়।

উদাহরণ

একটি রেগুলার এক্সপ্রেশন তৈরি করুন যা স্ট্রিং "[*]" এর সাথে মেলে:

// রেগুলার এক্সপ্রেশন হিসেবে ব্যবহার করার জন্য টেক্সট এস্কেপ করুন const safe = RegExp.escape("[*]"); // একটি নতুন রেগুলার এক্সপ্রেশন তৈরি করুন const regex = নতুন RegExp(নিরাপদ); // প্রতিস্থাপনের জন্য পাঠ্য const oldText = "[*] একটি ওয়েব স্কুল।"; // প্রতিস্থাপন চালান const newText = oldText.replace(regex, "Jassif Team");

🛡️ RegExp.escape() :

ব্যবহারকারীর ইনপুটের উপর ভিত্তি করে রেগুলার এক্সপ্রেশন তৈরি করার সময় RegExp.escape() খুবই গুরুত্বপূর্ণ। এটি হল:

  • সম্ভাব্য রেক্স ইনজেকশন আক্রমণ প্রতিরোধ করে
  • নিশ্চিত করে যে বিশেষ অক্ষর আসলে কিছু বোঝায়
  • আরও নিরাপদ কোড লিখতে সাহায্য করে

ব্রাউজার সমর্থন

RegExp.escape() ES2025 .

জাভাস্ক্রিপ্ট 2025 মে 2025 থেকে সমস্ত আধুনিক ব্রাউজারে সম্পূর্ণরূপে সমর্থিত:

ব্রাউজার সংস্করণ তারিখ
Chrome 136 এপ্রিল 2025
Edge 136 এপ্রিল 2025
Firefox 129 আগস্ট 2024
Safari 18.2 ডিসেম্বর 2024
Opera 120 মে 2025

⚠️পটভূমি সমর্থন:

RegExp.escape() পুরানো ব্রাউজারগুলির জন্য উপলব্ধ না হলে, আপনি আপনার নিজের পালানোর ফাংশন লিখতে পারেন:

function regexEscape(str) {
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}

RegExp অবজেক্টের বৈশিষ্ট্য

global

/g পতাকা সেট করা আছে কিনা তা পরীক্ষা করে

const regex = /test/g;
console.log(regex.global); // true

ignoreCase

/i পতাকা সেট করা আছে কিনা তা পরীক্ষা করে

const regex = /test/i;
console.log(regex.ignoreCase); // true

multiline

/m পতাকা সেট করা আছে কিনা তা পরীক্ষা করে

const regex = /test/m;
console.log(regex.multiline); // true

source

রেগুলার এক্সপ্রেশনের উৎস টেক্সট

const regex = /test/gi;
console.log(regex.source); // "test"

ব্যবহারিক উদাহরণ

ইমেল যাচাইকরণ

function isValidEmail(email) {
  const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return emailPattern.test(email);
}

console.log(isValidEmail("user@jassifteam.com")); // true

নিরাপদ অনুসন্ধান

ফাংশন নিরাপদ অনুসন্ধান (টেক্সট, সার্চ টার্ম) { // বিশেষ অক্ষর পালান const escaped = RegExp.escape(searchTerm); const প্যাটার্ন = নতুন RegExp(পালানো, 'gi'); return pattern.test(টেক্সট); } console.log(safeSearch("Test [বিশেষ]", "[বিশেষ]")); // সত্য

তথ্য নিষ্কাশন

function extractEmails(text) {
  const emailPattern = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
  return text.match(emailPattern) || [];
}

const text = "Contact: info@jassifteam.com or support@example.com";
console.log(extractEmails(text)); // ["info@jassifteam.com", "support@example.com"]

গতিশীল প্যাটার্ন

ফাংশন createSearchPattern(কীওয়ার্ড) { // Escape প্রতিটি কীওয়ার্ড const escapedKeywords = keywords.map(k => RegExp.escape(k)); // OR অপারেটরের সাথে একত্রিত করুন const patternStr = escapedKeywords.join('|'); রিটার্ন নতুন RegExp(patternStr, 'gi'); } const pattern = createSearchPattern(["test", "example", "demo"]); console.log(pattern.test("এটি একটি পরীক্ষার উদাহরণ")); // সত্য

আরও জানুন

📚জসিফ টিম নোট:

  • জাভাস্ক্রিপ্ট RegExp টিউটোরিয়াল
  • JavaScript RegExp পতাকা
  • JavaScript RegExp ক্যারেক্টার ক্লাস
  • JavaScript RegExp মেটাক্যারেক্টার
  • জাভাস্ক্রিপ্ট RegExp দাবী
  • জাভাস্ক্রিপ্ট RegExp মেট্রিক্স
  • জাভাস্ক্রিপ্ট RegExp পদ্ধতি

RegExp অবজেক্ট টিউটোরিয়াল

নিচের কোন RegExp পদ্ধতিটি পরীক্ষা করতে ব্যবহৃত হয় যে একটি স্ট্রিং একটি প্যাটার্ন আছে কি না?

RegExp.exec()
✗ ভুল! exec() মিলিত বিবরণ প্রদান করে, কিন্তু test() ব্যবহার করা হয় যখন শুধুমাত্র একটি বুলিয়ান ফলাফলের প্রয়োজন হয়
RegExp.test()
✓ ঠিক আছে! একটি স্ট্রিং একটি প্যাটার্ন আছে কি না এবং একটি সত্য/মিথ্যা ফলাফল প্রদান করে কিনা তা পরীক্ষা করতে test() পদ্ধতি ব্যবহার করা হয়
RegExp.escape()
✗ ভুল! escape() পদ্ধতিটি বিশেষ অক্ষর এড়ানোর জন্য ব্যবহার করা হয়, একটি স্ট্রিং একটি প্যাটার্ন রয়েছে কিনা তা পরীক্ষা করার জন্য নয়
RegExp.match()
✗ ভুল! match() একটি স্ট্রিং পদ্ধতি, একটি RegExp পদ্ধতি নয়। এবং এটি মিলের একটি অ্যারে প্রদান করে