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 পদ্ধতি