JavaScript এ RegExp এর বেসিক কনফিগারেশন বুঝতে হলে, আপনাকে RegExp প্যাটার্নের গঠন, সঠিক সিনট্যাক্স এবং ফ্ল্যাগগুলো সম্পর্কে জানতে হবে। RegExp প্যাটার্নের সাথে কয়েকটি কনফিগারেশন ফ্ল্যাগ ব্যবহার করা হয়, যা প্যাটার্নের কাজ করার ধরনকে প্রভাবিত করে। এই কনফিগারেশনগুলি বিশেষভাবে স্ট্রিংয়ের সাথে মেলানো, পরিবর্তন এবং যাচাই করার সময় গুরুত্বপূর্ণ ভূমিকা পালন করে।
RegExp প্যাটার্নের গঠন
একটি RegExp প্যাটার্ন সাধারণত একটি নির্দিষ্ট নিয়ম অনুসরণ করে গঠিত হয়। এই গঠনটি নিচের কিছু মূল অংশের সমন্বয়ে তৈরি হয়:
- লিটারেল প্যাটার্ন: এটি হল সরাসরি লেখা প্যাটার্ন যা স্ট্রিংয়ের মধ্যে খুঁজে পাওয়া যায়। যেমন
/abc/বা/\d+/। - মেটাচরিত্র (Metacharacters): RegExp এর মধ্যে কিছু বিশেষ চরিত্র থাকে, যা প্যাটার্ন মেলানোর ক্ষেত্রে বিশেষ অর্থ ধারণ করে। উদাহরণস্বরূপ,
.,*,+,^,$,[],{}, ইত্যাদি। - শ্রেণী (Character Classes): যেমন
\d(ডিজিট),\w(শব্দ),\s(স্পেস) এবং এর বিপরীত শ্রেণী যেমন\D,\W,\S।
JavaScript RegExp এর প্রধান কনফিগারেশন ফ্ল্যাগ
JavaScript এ RegExp প্যাটার্নের সাথে কিছু বিশেষ কনফিগারেশন ফ্ল্যাগ ব্যবহার করা হয়, যেগুলি প্যাটার্নের আচরণ নির্ধারণ করে। এই ফ্ল্যাগগুলি RegExp এর ক্ষমতা আরও বাড়িয়ে দেয়। প্রধান ফ্ল্যাগগুলো নিচে দেওয়া হলো:
১. g (Global)
এই ফ্ল্যাগটি প্যাটার্নটি বিশ্বব্যাপী (স্ট্রিংয়ের সব জায়গায়) অনুসন্ধান করতে ব্যবহার করা হয়। এর ফলে স্ট্রিংয়ের সমস্ত মিল পাওয়া যায়, একটির পরিবর্তে।
উদাহরণ:
let regex = /a/g;
let str = "apple banana";
console.log(str.match(regex)); // [ 'a', 'a', 'a' ]
এখানে, g ফ্ল্যাগের কারণে স্ট্রিংয়ে "a" এর সমস্ত উপস্থিতি খুঁজে পাওয়া যায়।
২. i (Ignore Case)
এটি বড় হাতের এবং ছোট হাতের অক্ষরের মধ্যে কোনো পার্থক্য না করে প্যাটার্নের সাথে মেলাতে ব্যবহৃত হয়। এর মাধ্যমে আপনি কেস-ইনসেনসিটিভ অনুসন্ধান করতে পারেন।
উদাহরণ:
let regex = /hello/i;
let str = "HELLO world";
console.log(regex.test(str)); // true
এখানে, i ফ্ল্যাগের কারণে "HELLO" এবং "hello" উভয়ই মিলে যাবে।
৩. m (Multiline)
এই ফ্ল্যাগটি প্যাটার্নটি বহু লাইনে অনুসন্ধান করতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের শুরু এবং শেষের মধ্যে প্যাটার্নটি খুঁজে পেতে সাহায্য করে, এমনকি যখন স্ট্রিংটি একাধিক লাইনে বিভক্ত থাকে।
উদাহরণ:
let regex = /^hello/m;
let str = "hello\nworld";
console.log(regex.test(str)); // true
এখানে, m ফ্ল্যাগের কারণে RegExp স্ট্রিংয়ের নতুন লাইনের শুরুতে "hello" খুঁজে পাচ্ছে।
RegExp এর অন্যান্য কনফিগারেশন ফ্ল্যাগ
JavaScript এ আরও কিছু অতিরিক্ত ফ্ল্যাগ রয়েছে, যদিও এগুলি কম ব্যবহৃত হয়:
৪. s (Dotall)
এই ফ্ল্যাগটি ডট (.) মেটাচরিত্রকে নতুন লাইনসহ যেকোনো চরিত্র মেলাতে সক্ষম করে। সাধারনত, ডট (.) শুধুমাত্র একক লাইনে থাকা চরিত্রের সাথে মেলে, কিন্তু s ফ্ল্যাগ ব্যবহার করলে এটি নতুন লাইন (newline) সহ মেলাতে সক্ষম হয়।
উদাহরণ:
let regex = /hello.world/s;
let str = "hello\nworld";
console.log(regex.test(str)); // true
এখানে, s ফ্ল্যাগের কারণে ডট (.) নতুন লাইনের চরিত্রও মেলাতে সক্ষম হচ্ছে।
৫. y (Sticky)
এই ফ্ল্যাগটি প্যাটার্নের মিল স্ট্রিংয়ের বর্তমান অবস্থান থেকে শুরু হয় এবং শুধুমাত্র সেখান থেকে মেলানো যায়। এর মানে হল যে, এই ফ্ল্যাগের সাথে RegExp শুধুমাত্র সেই স্ট্রিংয়ের অংশে কাজ করবে, যেখানে আগের মিলটি শেষ হয়েছিল।
উদাহরণ:
let regex = /a/y;
let str = "abcabc";
console.log(regex.exec(str)); // [ 'a', index: 0, input: 'abcabc', groups: undefined ]
console.log(regex.exec(str)); // [ 'a', index: 3, input: 'abcabc', groups: undefined ]
এখানে, y ফ্ল্যাগ RegExp কে স্ট্রিংয়ের প্রথম মিল থেকে পরবর্তী মিল পর্যন্ত সীমাবদ্ধ রাখে।
RegExp প্যাটার্নের উদাহরণ
JavaScript এ RegExp কনফিগারেশন ফ্ল্যাগগুলোর কিছু উদাহরণ:
Global Matching (সব জায়গায় মিলানো):
let regex = /cat/g; let str = "cat and dog, cat"; console.log(str.match(regex)); // [ 'cat', 'cat' ]Case-Insensitive Matching (কেস-ইনসেনসিটিভ মিলানো):
let regex = /hello/i; let str = "HELLO world"; console.log(regex.test(str)); // trueMultiline Matching (বহু লাইনে মিলানো):
let regex = /^hello/m; let str = "hello\nworld"; console.log(regex.test(str)); // true
সারাংশ
JavaScript এ RegExp এর বেসিক কনফিগারেশন অন্তর্ভুক্ত করে RegExp প্যাটার্ন তৈরির সময় ব্যবহৃত বিভিন্ন ফ্ল্যাগ যেমন g, i, m, s, এবং y। এই ফ্ল্যাগগুলো RegExp এর আচরণ পরিবর্তন করে, যেমন কেস-ইনসেনসিটিভ অনুসন্ধান, বহু লাইনে অনুসন্ধান এবং পুরো স্ট্রিংয়ের মধ্যে প্যাটার্ন অনুসন্ধান। RegExp এর সঠিক কনফিগারেশন ব্যবহার করে আপনি আরও শক্তিশালী এবং দক্ষভাবে স্ট্রিংয়ের মধ্যে প্যাটার্ন অনুসন্ধান এবং পরিবর্তন করতে পারবেন।
JavaScript এ RegExp Object তৈরি করার জন্য দুটি প্রধান পদ্ধতি ব্যবহার করা যেতে পারে: লিটারেল পদ্ধতি এবং কন্সট্রাক্টর পদ্ধতি। এই দুটি পদ্ধতির মাধ্যমে আপনি একটি RegExp প্যাটার্ন তৈরি করতে পারেন, যা পরে স্ট্রিংয়ের মধ্যে মেলানো, যাচাই করা, বা পরিবর্তন করার জন্য ব্যবহার করা হবে।
১. লিটারেল পদ্ধতি (Literal Method)
লিটারেল পদ্ধতিতে প্যাটার্নটি সরাসরি / চিহ্নের মধ্যে লেখা হয়। এটি সবচেয়ে সহজ এবং দ্রুত পদ্ধতি।
সিনট্যাক্স:
let regex = /pattern/;
উদাহরণ:
let regex = /hello/;
let str = "hello world";
console.log(regex.test(str)); // true
এখানে, /hello/ একটি RegExp প্যাটার্ন যা "hello" শব্দের উপস্থিতি স্ট্রিংয়ের মধ্যে খুঁজে বের করবে।
২. কন্সট্রাক্টর পদ্ধতি (Constructor Method)
কন্সট্রাক্টর পদ্ধতিতে, আপনি RegExp কন্সট্রাক্টর ফাংশন ব্যবহার করে প্যাটার্নটি তৈরি করেন। এটি তখন ব্যবহার করা হয় যখন আপনি প্যাটার্নটি চলমান সময়ের মধ্যে একটি ভ্যারিয়েবল হিসেবে তৈরি করতে চান অথবা প্যাটার্নের মধ্যে কিছু পরিবর্তন করতে চান।
সিনট্যাক্স:
let regex = new RegExp("pattern", "flags");
এখানে:
"pattern"হল RegExp প্যাটার্ন (স্ট্রিং হিসেবে)।"flags"হল ঐচ্ছিক প্যারামিটার যা প্যাটার্নের সাথে ফ্ল্যাগ যুক্ত করতে ব্যবহার হয় (যেমনg,i,m)।
উদাহরণ:
let regex = new RegExp("hello", "i"); // Case-insensitive matching
let str = "HELLO world";
console.log(regex.test(str)); // true
এখানে, new RegExp("hello", "i") প্যাটার্নটি কেস-ইনসেনসিটিভ অনুসন্ধান করতে সক্ষম।
RegExp Object এর সুবিধা
- লিটারেল পদ্ধতি সহজ এবং কোডিং সময় কমিয়ে দেয়। এটি শুধুমাত্র একটি প্যাটার্নের জন্য ব্যবহার করা হয় এবং ফ্ল্যাগ বা প্যাটার্ন পরিবর্তন সম্ভব নয়।
- কন্সট্রাক্টর পদ্ধতি আপনাকে প্যাটার্নটি চলমান সময়ের মধ্যে তৈরি এবং পরিচালনা করতে সহায়তা করে, বিশেষ করে যখন প্যাটার্ন বা ফ্ল্যাগগুলোর মধ্যে পরিবর্তন করতে হয়।
সারাংশ
JavaScript এ RegExp Object দুটি প্রধান পদ্ধতিতে তৈরি করা যায়: লিটারেল পদ্ধতি এবং কন্সট্রাক্টর পদ্ধতি। লিটারেল পদ্ধতি সরাসরি /pattern/ আকারে প্যাটার্ন তৈরি করে, যা সহজ এবং দ্রুত। অন্যদিকে, কন্সট্রাক্টর পদ্ধতিতে new RegExp() ব্যবহার করে প্যাটার্ন এবং ফ্ল্যাগ ডায়নামিকভাবে সেট করা যায়।
JavaScript এ RegExp তৈরি করার জন্য দুটি প্রধান পদ্ধতি রয়েছে: Literal Syntax এবং Constructor Syntax। এই দুটি পদ্ধতির মাধ্যমে আপনি একটি RegExp প্যাটার্ন তৈরি করতে পারেন, যা পরবর্তীতে স্ট্রিংয়ের সাথে মেলানো, যাচাই করা বা পরিবর্তন করার জন্য ব্যবহার করা হবে।
Literal Syntax
Literal Syntax ব্যবহার করলে প্যাটার্নটি সরাসরি / চিহ্নের মধ্যে লিখতে হয়। এটি সবচেয়ে সাধারণ এবং সহজ পদ্ধতি।
সিনট্যাক্স:
let regex = /pattern/;
এখানে, pattern হলো সেই প্যাটার্ন যা আপনি মেলাতে চান, এবং এটি সরাসরি / চিহ্নের মধ্যে দেওয়া হয়।
উদাহরণ:
let regex = /apple/;
let str = "I have an apple.";
console.log(regex.test(str)); // true
এখানে, regex একটি RegExp প্যাটার্ন যা "apple" শব্দটি খুঁজে বের করবে এবং test() মেথড ব্যবহার করে এটি স্ট্রিংয়ের মধ্যে মিল আছে কিনা পরীক্ষা করবে। true রিটার্ন করবে কারণ স্ট্রিংয়ে "apple" উপস্থিত।
Constructor Syntax
Constructor Syntax ব্যবহার করে আপনি RegExp কন্সট্রাক্টর ফাংশন ব্যবহার করে প্যাটার্ন তৈরি করেন। এটি তখন প্রয়োজন হয় যখন প্যাটার্ন বা ফ্ল্যাগ পরিবর্তনযোগ্য বা ডাইনামিকভাবে তৈরি করতে হয়। প্যাটার্নটি স্ট্রিং আকারে কন্সট্রাক্টরে দেওয়া হয় এবং প্রয়োজনীয় ফ্ল্যাগও যুক্ত করা যায়।
সিনট্যাক্স:
let regex = new RegExp("pattern", "flags");
এখানে:
"pattern"হলো প্যাটার্ন (স্ট্রিং আকারে)।"flags"হল ঐচ্ছিক ফ্ল্যাগ (যেমনg,i,m) যা RegExp এর আচরণ পরিবর্তন করতে ব্যবহার হয়।
উদাহরণ:
let regex = new RegExp("apple", "i"); // Case-insensitive matching
let str = "I have an APPLE.";
console.log(regex.test(str)); // true
এখানে, new RegExp("apple", "i") প্যাটার্নটি কেস-ইনসেনসিটিভ হবে, অর্থাৎ "apple" এবং "APPLE" উভয়ই মিলে যাবে। test() মেথড ব্যবহার করে স্ট্রিংয়ের মধ্যে এই প্যাটার্নটি পরীক্ষা করা হচ্ছে।
Literal Syntax এবং Constructor Syntax এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Literal Syntax (/pattern/) | Constructor Syntax (new RegExp()) |
|---|---|---|
| প্যাটার্ন প্রদান পদ্ধতি | সরাসরি /pattern/ | স্ট্রিং হিসেবে new RegExp("pattern") |
| ফ্ল্যাগ ব্যবহার | /pattern/ বা /pattern/g | new RegExp("pattern", "flags") |
| ডাইনামিক প্যাটার্ন | সম্ভব নয় | সম্ভব (প্যাটার্ন ডায়নামিকভাবে তৈরি করা যায়) |
| সহজ ব্যবহার | সহজ এবং স্বাভাবিক | যখন প্যাটার্ন ডায়নামিক, তখন উপযুক্ত |
সারাংশ
JavaScript এ RegExp তৈরি করার দুটি প্রাথমিক পদ্ধতি রয়েছে: Literal Syntax এবং Constructor Syntax।
- Literal Syntax ব্যবহার করে সরাসরি
/pattern/প্যাটার্নটি লেখা হয়, যা সহজ এবং কমপ্যাক্ট। - Constructor Syntax ব্যবহার করে
new RegExp("pattern")প্যাটার্ন তৈরি করা হয়, যা ডাইনামিক প্যাটার্ন বা ফ্ল্যাগ ব্যবহার করার সুবিধা প্রদান করে।
JavaScript এ RegExp প্যাটার্নের সাথে বিভিন্ন ফ্ল্যাগ ব্যবহার করা হয়, যা প্যাটার্নের আচরণকে কাস্টমাইজ এবং নিয়ন্ত্রণ করতে সাহায্য করে। ফ্ল্যাগগুলো স্ট্রিংয়ের মধ্যে প্যাটার্ন মেলানো বা অন্যান্য ম্যানিপুলেশন কাজে ব্যবহৃত হয়। এখানে কয়েকটি গুরুত্বপূর্ণ ফ্ল্যাগের ব্যাখ্যা দেওয়া হলো:
g (Global)
g (Global) ফ্ল্যাগটি স্ট্রিংয়ের সমস্ত মিল খুঁজে বের করতে ব্যবহৃত হয়। এটি প্যাটার্নের অনুসন্ধানকে বিশ্বব্যাপী তৈরি করে, অর্থাৎ প্রথম ম্যাচ পাওয়ার পর অনুসন্ধান থেমে যাবে না।
উদাহরণ:
let regex = /apple/g;
let str = "apple banana apple orange apple";
console.log(str.match(regex)); // [ 'apple', 'apple', 'apple' ]
এখানে, g ফ্ল্যাগের কারণে স্ট্রিংয়ের সমস্ত "apple" শব্দটি পাওয়া যায়।
i (Ignore Case)
i (Ignore Case) ফ্ল্যাগটি কেস-ইনসেনসিটিভ (case-insensitive) ম্যাচিং সক্ষম করে। এর মানে হলো, এটি বড় হাতের এবং ছোট হাতের অক্ষরের মধ্যে কোনো পার্থক্য করে না।
উদাহরণ:
let regex = /hello/i;
let str = "HELLO world";
console.log(regex.test(str)); // true
এখানে, i ফ্ল্যাগের কারণে "HELLO" এবং "hello" উভয়ই মিলে যাবে, কেসের পার্থক্য সত্ত্বেও।
m (Multiline)
m (Multiline) ফ্ল্যাগটি প্যাটার্নের মধ্যে বহু লাইনে (multiple lines) মিল খুঁজে বের করতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের শুরু (^) এবং শেষ ($) চিহ্নের আচরণ পরিবর্তন করে, যাতে সেগুলো একাধিক লাইনে কাজ করতে পারে।
উদাহরণ:
let regex = /^hello/m;
let str = "hello\nworld";
console.log(regex.test(str)); // true
এখানে, m ফ্ল্যাগের কারণে "hello" নতুন লাইনের শুরুতে পাওয়া যায় এবং মিলটি সঠিকভাবে চিহ্নিত হয়।
u (Unicode)
u (Unicode) ফ্ল্যাগটি ইউনিকোড (Unicode) অক্ষরগুলোকে সমর্থন করে। এই ফ্ল্যাগটি বিশেষ করে ইমোজি বা অন্য ইউনিকোড চরিত্রের জন্য ব্যবহৃত হয়, যা সাধারণভাবে অন্যান্য RegExp ফ্ল্যাগ দ্বারা সঠিকভাবে ম্যাচ হয় না।
উদাহরণ:
let regex = /\u{1F600}/u; // 😀 (গ্রিন ফেস ইমোজি)
let str = "I am happy 😀";
console.log(regex.test(str)); // true
এখানে, u ফ্ল্যাগের কারণে ইউনিকোড চরিত্র "😀" সঠিকভাবে ম্যাচ হয়।
s (Dotall)
s (Dotall) ফ্ল্যাগটি ডট (.) মেটাচরিত্রকে নতুন লাইন সহ যেকোনো চরিত্র হিসেবে বিবেচনা করতে ব্যবহৃত হয়। সাধারণভাবে, ডট মেটাচরিত্রটি শুধুমাত্র এক লাইনে থাকা চরিত্রের সাথে মেলে, কিন্তু s ফ্ল্যাগ ব্যবহারের মাধ্যমে এটি নতুন লাইনে থাকা চরিত্রগুলোও মেলাতে পারে।
উদাহরণ:
let regex = /hello.world/s;
let str = "hello\nworld";
console.log(regex.test(str)); // true
এখানে, s ফ্ল্যাগের কারণে ডট মেটাচরিত্রটি "hello" এবং "world" এর মধ্যে নতুন লাইন থাকা সত্ত্বেও মিলিয়ে ফেলছে।
y (Sticky)
y (Sticky) ফ্ল্যাগটি প্যাটার্নের অনুসন্ধানকে স্ট্রিংয়ের বর্তমান অবস্থানে সীমাবদ্ধ করে। এটি প্যাটার্নটি শুধুমাত্র স্ট্রিংয়ের সেই অংশে প্রয়োগ করবে, যেখানে আগের মিলটি শেষ হয়েছিল।
উদাহরণ:
let regex = /apple/y;
let str = "apple banana apple";
console.log(regex.exec(str)); // [ 'apple', index: 0, input: 'apple banana apple', groups: undefined ]
console.log(regex.exec(str)); // null
এখানে, y ফ্ল্যাগের কারণে প্রথম মিল পাওয়ার পর অনুসন্ধানটি থেমে যায় এবং পরবর্তী মিল পাওয়া যায় না।
সারাংশ
JavaScript এ RegExp flags প্যাটার্নের আচরণ এবং কার্যকারিতা পরিবর্তন করতে ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ ফ্ল্যাগগুলো হলো:
g: Global - স্ট্রিংয়ের সব মিল খুঁজে বের করা।i: Ignore Case - কেস-ইনসেনসিটিভ মিলানো।m: Multiline - বহু লাইনে মিলানো।u: Unicode - ইউনিকোড অক্ষর সমর্থন।s: Dotall - ডট মেটাচরিত্রকে নতুন লাইনসহ মিলাতে সক্ষম করা।y: Sticky - অনুসন্ধানকে স্ট্রিংয়ের বর্তমান অবস্থানে সীমাবদ্ধ করা।
ফ্ল্যাগগুলো ব্যবহার করে RegExp এর কার্যকারিতা কাস্টমাইজ করা যায় এবং এটি আরও শক্তিশালী ও লচপল হতে সাহায্য করে।
JavaScript এ RegExp (Regular Expression) ব্যবহার করে স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খোঁজা বা মিলানো খুবই শক্তিশালী এবং কার্যকরী পদ্ধতি। এই পদ্ধতিটি স্ট্রিংয়ের মধ্যে প্যাটার্নের উপস্থিতি যাচাই করতে, বিভিন্ন অংশ বের করতে বা স্ট্রিং পরিবর্তন করতে ব্যবহার করা হয়। RegExp ব্যবহার করে স্ট্রিং matching অনেক সহজ এবং দ্রুত হতে পারে।
RegExp ব্যবহার করে স্ট্রিং মিলানো
JavaScript এ RegExp প্যাটার্ন দিয়ে স্ট্রিংয়ের মধ্যে মিল খোঁজা কয়েকটি পদ্ধতিতে করা যায়। প্রধানত test(), match(), search(), এবং replace() মেথড ব্যবহার করা হয়।
test() মেথড
test() মেথড ব্যবহার করে একটি RegExp প্যাটার্ন স্ট্রিংয়ের মধ্যে খুঁজে পাওয়া যায়। এটি একটি বুলিয়ান মান (true বা false) রিটার্ন করে, যদি প্যাটার্নটি স্ট্রিংয়ের মধ্যে পাওয়া যায়।
সিনট্যাক্স:
regex.test(string);
উদাহরণ:
let regex = /apple/;
let str = "I have an apple.";
console.log(regex.test(str)); // true
এখানে, regex.test(str) প্যাটার্ন "apple" স্ট্রিংয়ের মধ্যে খুঁজে পেয়েছে, তাই true রিটার্ন হয়েছে।
match() মেথড
match() মেথড ব্যবহার করে স্ট্রিংয়ের মধ্যে RegExp প্যাটার্নের সমস্ত মিল পাওয়া যায়। এটি একটি অ্যারে রিটার্ন করে, যেখানে সমস্ত মেলা অংশ সংরক্ষিত থাকে।
সিনট্যাক্স:
string.match(regex);
উদাহরণ:
let regex = /apple/g;
let str = "apple and apple pie";
console.log(str.match(regex)); // [ 'apple', 'apple' ]
এখানে, str.match(regex) স্ট্রিং "apple and apple pie" তে "apple" এর দুটি মিল খুঁজে পেয়েছে এবং একটি অ্যারে রিটার্ন করেছে।
search() মেথড
search() মেথডটি স্ট্রিংয়ের মধ্যে প্রথম মিলের অবস্থান রিটার্ন করে। এটি মিল পাওয়া গেলে স্ট্রিংয়ের ইনডেক্স রিটার্ন করে, অন্যথায় -1 রিটার্ন করে।
সিনট্যাক্স:
string.search(regex);
উদাহরণ:
let regex = /apple/;
let str = "I have an apple.";
console.log(str.search(regex)); // 10
এখানে, str.search(regex) "apple" শব্দের প্রথম মিলের অবস্থান 10 রিটার্ন করেছে (অর্থাৎ "apple" শব্দটি স্ট্রিংয়ের 10 নম্বর অবস্থানে আছে)।
replace() মেথড
replace() মেথডটি স্ট্রিংয়ের মধ্যে RegExp প্যাটার্নের প্রথম মিলের সঙ্গে নির্দিষ্ট একটি পরিবর্তন করে নতুন স্ট্রিং তৈরি করে। আপনি যদি সব মিল পরিবর্তন করতে চান, তবে g ফ্ল্যাগ ব্যবহার করতে হবে।
সিনট্যাক্স:
string.replace(regex, replacement);
উদাহরণ:
let regex = /apple/;
let str = "I have an apple.";
let newStr = str.replace(regex, "orange");
console.log(newStr); // "I have an orange."
এখানে, "apple" শব্দটি "orange" দ্বারা প্রতিস্থাপিত হয়েছে এবং নতুন স্ট্রিং রিটার্ন করা হয়েছে।
RegExp ব্যবহার করে স্ট্রিং Matching এর কিছু অতিরিক্ত উদাহরণ
কেস-ইনসেনসিটিভ Matching:
let regex = /apple/i; let str = "APPLE pie"; console.log(regex.test(str)); // trueসব মিল খুঁজে পাওয়া:
let regex = /apple/g; let str = "apple and apple pie"; console.log(str.match(regex)); // [ 'apple', 'apple' ]মিলের অবস্থান খুঁজে পাওয়া:
let regex = /apple/; let str = "apple pie"; console.log(str.search(regex)); // 0সব মিল প্রতিস্থাপন:
let regex = /apple/g; let str = "apple and apple pie"; let newStr = str.replace(regex, "orange"); console.log(newStr); // "orange and orange pie"
সারাংশ
JavaScript এ RegExp ব্যবহার করে স্ট্রিংয়ের মধ্যে প্যাটার্ন খোঁজা বা মিলানো খুবই সহজ এবং শক্তিশালী। test() মেথড দিয়ে মেলানো, match() দিয়ে সমস্ত মিল খুঁজে পাওয়া, search() দিয়ে প্রথম মিলের অবস্থান খোঁজা এবং replace() দিয়ে স্ট্রিং পরিবর্তন করা সম্ভব। এই মেথডগুলোর মাধ্যমে আপনি স্ট্রিংয়ের সাথে RegExp প্যাটার্ন মিলিয়ে নানা কার্যকরী কাজ করতে পারেন।
Read more