Skill

জাভাস্ক্রিপ্ট রেগএক্সপি (Javascript RegExp)

437

জাভাস্ক্রিপ্ট রেগএক্সপি (Regular Expression) হলো একটি প্যাটার্ন ম্যাচিং টুল, যা টেক্সট বা স্ট্রিং থেকে নির্দিষ্ট ধরণের প্যাটার্ন খুঁজে বের করতে, মডিফাই করতে বা যাচাই করতে ব্যবহৃত হয়। Regular Expression টেক্সটের মধ্যে নির্দিষ্ট চরিত্র বা প্যাটার্ন অনুসন্ধান করার একটি শক্তিশালী উপায়। JavaScript-এ, RegExp অবজেক্ট ব্যবহার করে আপনি এই প্যাটার্নগুলো তৈরি ও প্রয়োগ করতে পারেন।


JavaScript RegExp (Regular Expressions): একটি বিস্তারিত বাংলা টিউটোরিয়াল

RegExp (Regular Expressions) কি?

RegExp বা Regular Expressions হলো একটি শক্তিশালী টুল যা স্ট্রিং-এ নির্দিষ্ট প্যাটার্ন খুঁজে বের করা, মিলানো, অথবা ম্যানিপুলেট করার জন্য ব্যবহৃত হয়। এটি মূলত এক ধরনের প্যাটার্ন-ভিত্তিক টেক্সট প্রসেসিং টুল। JavaScript-এ RegExp এর মাধ্যমে আপনি কোনো স্ট্রিং-এ নির্দিষ্ট ধরণের সাবস্ট্রিং খুঁজে বের করতে, তা পরিবর্তন করতে, অথবা অন্যান্য টেক্সট প্রসেসিং কাজ সম্পন্ন করতে পারেন।

RegExp স্ট্রিং থেকে ডেটা খোঁজার জন্য, ডেটার ভ্যালিডেশন করার জন্য (যেমন ইমেইল ঠিকানা, ফোন নম্বর, পাসওয়ার্ড ফরম্যাট), অথবা স্ট্রিং-এ কিছু নির্দিষ্ট সাবস্ট্রিং প্রতিস্থাপন করতে ব্যবহার করা হয়।

JavaScript এ RegExp এর প্রাথমিক ধারণা

JavaScript-এ RegExp তৈরি করার দুটি প্রধান পদ্ধতি রয়েছে:

Literal Syntax: RegExp সরাসরি // এর মধ্যে লিখে তৈরি করা যায়।

const regex = /abc/;

Constructor Syntax: RegExp কনস্ট্রাক্টর ফাংশনের মাধ্যমে RegExp তৈরি করা যায়।

const regex = new RegExp('abc');

উভয় পদ্ধতিই একই কাজ করে, তবে কিছু ক্ষেত্রে কনস্ট্রাক্টর পদ্ধতি ব্যবহার করা হয়, বিশেষত যখন প্যাটার্নটি ডাইনামিকভাবে তৈরি করতে হয়।

RegExp Flags

Flags RegExp এর কাজ করার ধরনকে নিয়ন্ত্রণ করে। JavaScript এ কিছু সাধারণ flags হলো:

  1. g: Global search - পুরো স্ট্রিং-এ ম্যাচ খুঁজে বের করতে ব্যবহার করা হয়।
  2. i: Case-insensitive search - বড় হাতের অক্ষর এবং ছোট হাতের অক্ষরকে সমান হিসেবে গণ্য করে।
  3. m: Multi-line search - মাল্টি-লাইন স্ট্রিংয়ে ম্যাচ খুঁজতে সাহায্য করে।
  4. s: Dotall mode - . চরিত্রের জন্য, যা সাধারণত কোনো একক লাইন শেষে কাজ করে, নতুন লাইন সহ সবকিছুর সাথে মিল খুঁজতে সাহায্য করে।
  5. u: Unicode mode - ইউনিকোড ক্যারেক্টারদের সমর্থন করে।
  6. y: Sticky search - স্ট্রিংয়ের নির্দিষ্ট অবস্থান থেকে ম্যাচ খুঁজে বের করতে ব্যবহৃত হয়।

উদাহরণ: Flags সহ RegExp

const regex = /abc/i;  // Case-insensitive search
const result = regex.test("ABC");
console.log(result);  // true

এখানে /abc/i অর্থ হলো ছোট এবং বড় হাতের abc উভয়ই ম্যাচ করবে।

RegExp এর প্রধান উপাদান

RegExp-এর মাধ্যমে বিভিন্ন ধরণের প্যাটার্ন তৈরি করা যায়, যেগুলো স্ট্রিং-এর নির্দিষ্ট অংশ খুঁজে বের করতে সাহায্য করে। কিছু গুরুত্বপূর্ণ RegExp উপাদান নিচে দেওয়া হলো:

১. Literal Characters

Literal character এর মাধ্যমে নির্দিষ্ট অক্ষর খুঁজে বের করা হয়। উদাহরণস্বরূপ:

const regex = /hello/;
const result = regex.test("hello world");
console.log(result);  // true

এখানে, /hello/ স্ট্রিং "hello world"hello খুঁজে বের করছে।

২. Metacharacters

Metacharacters হলো বিশেষ ক্যারেক্টার যা RegExp এ নির্দিষ্ট ধরণের প্যাটার্ন বা কাজ সম্পন্ন করতে ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ metacharacters হলো:

Metacharacterব্যবহারউদাহরণ
.যেকোনো একটি অক্ষরের সাথে মিল/h.llo/ "hello", "hallo" এর সাথে মিল খুঁজবে
^স্ট্রিং এর শুরুতে মিল/^hello/ "hello world"-এর সাথে মিলবে
$স্ট্রিং এর শেষে মিল/world$/ "hello world"-এর সাথে মিলবে
*পূর্ববর্তী ক্যারেক্টার ০ বা বেশি বার পুনরাবৃত্তি/he*lo/ "hlo", "helo", "heeeelo" এর সাথে মিলবে
+পূর্ববর্তী ক্যারেক্টার ১ বা বেশি বার পুনরাবৃত্তি/he+lo/ "helo", "heeeelo" এর সাথে মিলবে, কিন্তু "hlo" নয়
?পূর্ববর্তী ক্যারেক্টার ০ বা ১ বার পুনরাবৃত্তি/he?llo/ "hllo", "hello" এর সাথে মিলবে
\মেটাচারেক্টারকে Literal হিসেবে গণ্য করতে ব্যবহার করা হয়/\./ "hello.world"-এর মধ্যে "." এর সাথে মিলবে

উদাহরণ:

const regex = /h.llo/;
console.log(regex.test("hello"));  // true
console.log(regex.test("hallo"));  // true
console.log(regex.test("hxllo"));  // true

এখানে . যেকোনো একটি অক্ষরের সাথে মিল খুঁজবে।

৩. Character Sets ([])

Character sets ব্যবহার করে নির্দিষ্ট অক্ষরের সেটের মধ্যে মিল খোঁজা যায়। এটি square brackets এর মধ্যে থাকে।

উদাহরণ:

const regex = /h[aeiou]llo/;  // a, e, i, o, u এর যেকোনো একটি অক্ষর হতে পারে
console.log(regex.test("hello"));  // true
console.log(regex.test("hallo"));  // true
console.log(regex.test("hillo"));  // true
console.log(regex.test("hollo"));  // true
console.log(regex.test("hxllo"));  // false

এখানে [aeiou] যেকোনো একটি vowel (a, e, i, o, u) এর সাথে মিল খুঁজবে।

৪. Ranges

Character sets এর মধ্যে ranges ব্যবহার করে অক্ষরের পরিসর নির্ধারণ করা যায়, যেমন [a-z], [A-Z], [0-9] ইত্যাদি।

উদাহরণ:

const regex = /[a-z]ello/;
console.log(regex.test("hello"));  // true
console.log(regex.test("Hello"));  // false

এখানে [a-z] এর অর্থ হলো ছোট হাতের যে কোনো অক্ষর।

৫. Special Character Classes

RegExp এ কিছু বিশেষ character classes রয়েছে, যেগুলো বিশেষ ধরণের অক্ষরগুলির সাথে মিল খুঁজতে ব্যবহৃত হয়।

Character Classবর্ণনাউদাহরণ
\dযেকোনো সংখ্যা (0-9)/\d/ "123" এর সাথে মিলবে
\Dসংখ্যা ব্যতীত অন্য কিছু/\D/ "abc" এর সাথে মিলবে
\wযেকোনো অক্ষর বা সংখ্যা (A-Z, a-z, 0-9, _)/\w/ "hello123" এর সাথে মিলবে
\Wঅক্ষর বা সংখ্যা ব্যতীত অন্য কিছু/\W/ "!" এর সাথে মিলবে
\sযেকোনো whitespace (space, tab)/\s/ "hello world" এর স্পেসের সাথে মিলবে

উদাহরণ:

const regex = /\d+/;
console.log(regex.test("My age is 25"));  // true

এখানে \d+ এর অর্থ হলো এক বা একাধিক সংখ্যা।

৬. Quantifiers

Quantifiers ব্যবহার করে নির্দিষ্ট সংখ্যক পুনরাবৃত্তি নির্ধারণ করা যায়। কিছু গুরুত্বপূর্ণ quantifiers হলো:

Quantifierবর্ণনাউদাহরণ
{n}ঠিক n বার পুনরাবৃত্তি/a{3}/ "aaa" এর সাথে মিলবে
{n,}কমপক্ষে n বার পুনরাবৃত্তি/a{2,}/ "aa", "aaa", "aaaa" এর সাথে মিলবে
{n,m}n থেকে m বার পর্যন্ত পুনরাবৃত্তি/a{2,4}/ "aa", "aaa", "aaaa" এর সাথে মিলবে

উদাহরণ:

const regex = /a{2,4}/;
console.log(regex.test("aaa"));  // true
console.log(regex.test("a"));    // false

এখানে a{2,4} এর অর্থ হলো a ২ থেকে ৪ বার পর্যন্ত পুনরাবৃত্তি হতে পারে।

RegExp এর সাধারণ ফাংশনসমূহ

JavaScript-এ RegExp এর বিভিন্ন ফাংশন রয়েছে, যেগুলো দিয়ে স্ট্রিং-এ প্যাটার্ন খোঁজা, প্রতিস্থাপন করা, এবং ম্যানিপুলেশন করা যায়।

১. test() ফাংশন

test() ফাংশন স্ট্রিং-এ কোনো প্যাটার্নের সাথে মিল রয়েছে কিনা তা যাচাই করে এবং true বা false রিটার্ন করে।

উদাহরণ:

const regex = /hello/;
console.log(regex.test("hello world"));  // true

২. match() ফাংশন

match() ফাংশন একটি স্ট্রিং থেকে সমস্ত ম্যাচিং রেজাল্ট রিটার্ন করে।

উদাহরণ:

const str = "The price is 50 dollars";
const result = str.match(/\d+/);
console.log(result);  // ["50"]

৩. replace() ফাংশন

replace() ফাংশন ব্যবহার করে কোনো স্ট্রিং-এর নির্দিষ্ট অংশ প্রতিস্থাপন করা যায়।

উদাহরণ:

const str = "I love JavaScript!";
const result = str.replace(/JavaScript/, "RegExp");
console.log(result);  // "I love RegExp!"

৪. split() ফাংশন

split() ফাংশন কোনো স্ট্রিং-কে নির্দিষ্ট প্যাটার্ন অনুযায়ী ভাগ করে।

উদাহরণ:

const str = "apple, banana, cherry";
const result = str.split(/,\s*/);
console.log(result);  // ["apple", "banana", "cherry"]

৫. search() ফাংশন

search() ফাংশন স্ট্রিং-এ নির্দিষ্ট প্যাটার্নের প্রথম অবস্থান খুঁজে বের করে।

উদাহরণ:

const str = "The quick brown fox";
const result = str.search(/quick/);
console.log(result);  // 4

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

১. ইমেইল ভ্যালিডেশন

const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
console.log(regex.test("example@gmail.com"));  // true
console.log(regex.test("example@com"));  // false

২. ফোন নম্বর ভ্যালিডেশন

const regex = /^\d{10}$/;
console.log(regex.test("0123456789"));  // true
console.log(regex.test("123-456-7890"));  // false

৩. পাসওয়ার্ড ভ্যালিডেশন (অন্তত ৮ অক্ষর, একটি সংখ্যা, এবং একটি বড় হাতের অক্ষর)

const regex = /^(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$/;
console.log(regex.test("Password1"));  // true
console.log(regex.test("password"));  // false

উপসংহার

JavaScript RegExp একটি অত্যন্ত শক্তিশালী টুল, যা স্ট্রিং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের প্যাটার্ন ম্যাচিং, ডেটা ভ্যালিডেশন, এবং টেক্সট প্রসেসিং কাজ করতে সহায়ক। RegExp এর প্রধান উপাদানগুলো যেমন character classes, metacharacters, এবং quantifiers সঠিকভাবে ব্যবহার করলে জটিল স্ট্রিং অপারেশনও সহজ হয়ে যায়।

জাভাস্ক্রিপ্ট রেগএক্সপি (Regular Expression) হলো একটি প্যাটার্ন ম্যাচিং টুল, যা টেক্সট বা স্ট্রিং থেকে নির্দিষ্ট ধরণের প্যাটার্ন খুঁজে বের করতে, মডিফাই করতে বা যাচাই করতে ব্যবহৃত হয়। Regular Expression টেক্সটের মধ্যে নির্দিষ্ট চরিত্র বা প্যাটার্ন অনুসন্ধান করার একটি শক্তিশালী উপায়। JavaScript-এ, RegExp অবজেক্ট ব্যবহার করে আপনি এই প্যাটার্নগুলো তৈরি ও প্রয়োগ করতে পারেন।


JavaScript RegExp (Regular Expressions): একটি বিস্তারিত বাংলা টিউটোরিয়াল

RegExp (Regular Expressions) কি?

RegExp বা Regular Expressions হলো একটি শক্তিশালী টুল যা স্ট্রিং-এ নির্দিষ্ট প্যাটার্ন খুঁজে বের করা, মিলানো, অথবা ম্যানিপুলেট করার জন্য ব্যবহৃত হয়। এটি মূলত এক ধরনের প্যাটার্ন-ভিত্তিক টেক্সট প্রসেসিং টুল। JavaScript-এ RegExp এর মাধ্যমে আপনি কোনো স্ট্রিং-এ নির্দিষ্ট ধরণের সাবস্ট্রিং খুঁজে বের করতে, তা পরিবর্তন করতে, অথবা অন্যান্য টেক্সট প্রসেসিং কাজ সম্পন্ন করতে পারেন।

RegExp স্ট্রিং থেকে ডেটা খোঁজার জন্য, ডেটার ভ্যালিডেশন করার জন্য (যেমন ইমেইল ঠিকানা, ফোন নম্বর, পাসওয়ার্ড ফরম্যাট), অথবা স্ট্রিং-এ কিছু নির্দিষ্ট সাবস্ট্রিং প্রতিস্থাপন করতে ব্যবহার করা হয়।

JavaScript এ RegExp এর প্রাথমিক ধারণা

JavaScript-এ RegExp তৈরি করার দুটি প্রধান পদ্ধতি রয়েছে:

Literal Syntax: RegExp সরাসরি // এর মধ্যে লিখে তৈরি করা যায়।

const regex = /abc/;

Constructor Syntax: RegExp কনস্ট্রাক্টর ফাংশনের মাধ্যমে RegExp তৈরি করা যায়।

const regex = new RegExp('abc');

উভয় পদ্ধতিই একই কাজ করে, তবে কিছু ক্ষেত্রে কনস্ট্রাক্টর পদ্ধতি ব্যবহার করা হয়, বিশেষত যখন প্যাটার্নটি ডাইনামিকভাবে তৈরি করতে হয়।

RegExp Flags

Flags RegExp এর কাজ করার ধরনকে নিয়ন্ত্রণ করে। JavaScript এ কিছু সাধারণ flags হলো:

  1. g: Global search - পুরো স্ট্রিং-এ ম্যাচ খুঁজে বের করতে ব্যবহার করা হয়।
  2. i: Case-insensitive search - বড় হাতের অক্ষর এবং ছোট হাতের অক্ষরকে সমান হিসেবে গণ্য করে।
  3. m: Multi-line search - মাল্টি-লাইন স্ট্রিংয়ে ম্যাচ খুঁজতে সাহায্য করে।
  4. s: Dotall mode - . চরিত্রের জন্য, যা সাধারণত কোনো একক লাইন শেষে কাজ করে, নতুন লাইন সহ সবকিছুর সাথে মিল খুঁজতে সাহায্য করে।
  5. u: Unicode mode - ইউনিকোড ক্যারেক্টারদের সমর্থন করে।
  6. y: Sticky search - স্ট্রিংয়ের নির্দিষ্ট অবস্থান থেকে ম্যাচ খুঁজে বের করতে ব্যবহৃত হয়।

উদাহরণ: Flags সহ RegExp

const regex = /abc/i;  // Case-insensitive search
const result = regex.test("ABC");
console.log(result);  // true

এখানে /abc/i অর্থ হলো ছোট এবং বড় হাতের abc উভয়ই ম্যাচ করবে।

RegExp এর প্রধান উপাদান

RegExp-এর মাধ্যমে বিভিন্ন ধরণের প্যাটার্ন তৈরি করা যায়, যেগুলো স্ট্রিং-এর নির্দিষ্ট অংশ খুঁজে বের করতে সাহায্য করে। কিছু গুরুত্বপূর্ণ RegExp উপাদান নিচে দেওয়া হলো:

১. Literal Characters

Literal character এর মাধ্যমে নির্দিষ্ট অক্ষর খুঁজে বের করা হয়। উদাহরণস্বরূপ:

const regex = /hello/;
const result = regex.test("hello world");
console.log(result);  // true

এখানে, /hello/ স্ট্রিং "hello world"hello খুঁজে বের করছে।

২. Metacharacters

Metacharacters হলো বিশেষ ক্যারেক্টার যা RegExp এ নির্দিষ্ট ধরণের প্যাটার্ন বা কাজ সম্পন্ন করতে ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ metacharacters হলো:

Metacharacterব্যবহারউদাহরণ
.যেকোনো একটি অক্ষরের সাথে মিল/h.llo/ "hello", "hallo" এর সাথে মিল খুঁজবে
^স্ট্রিং এর শুরুতে মিল/^hello/ "hello world"-এর সাথে মিলবে
$স্ট্রিং এর শেষে মিল/world$/ "hello world"-এর সাথে মিলবে
*পূর্ববর্তী ক্যারেক্টার ০ বা বেশি বার পুনরাবৃত্তি/he*lo/ "hlo", "helo", "heeeelo" এর সাথে মিলবে
+পূর্ববর্তী ক্যারেক্টার ১ বা বেশি বার পুনরাবৃত্তি/he+lo/ "helo", "heeeelo" এর সাথে মিলবে, কিন্তু "hlo" নয়
?পূর্ববর্তী ক্যারেক্টার ০ বা ১ বার পুনরাবৃত্তি/he?llo/ "hllo", "hello" এর সাথে মিলবে
\মেটাচারেক্টারকে Literal হিসেবে গণ্য করতে ব্যবহার করা হয়/\./ "hello.world"-এর মধ্যে "." এর সাথে মিলবে

উদাহরণ:

const regex = /h.llo/;
console.log(regex.test("hello"));  // true
console.log(regex.test("hallo"));  // true
console.log(regex.test("hxllo"));  // true

এখানে . যেকোনো একটি অক্ষরের সাথে মিল খুঁজবে।

৩. Character Sets ([])

Character sets ব্যবহার করে নির্দিষ্ট অক্ষরের সেটের মধ্যে মিল খোঁজা যায়। এটি square brackets এর মধ্যে থাকে।

উদাহরণ:

const regex = /h[aeiou]llo/;  // a, e, i, o, u এর যেকোনো একটি অক্ষর হতে পারে
console.log(regex.test("hello"));  // true
console.log(regex.test("hallo"));  // true
console.log(regex.test("hillo"));  // true
console.log(regex.test("hollo"));  // true
console.log(regex.test("hxllo"));  // false

এখানে [aeiou] যেকোনো একটি vowel (a, e, i, o, u) এর সাথে মিল খুঁজবে।

৪. Ranges

Character sets এর মধ্যে ranges ব্যবহার করে অক্ষরের পরিসর নির্ধারণ করা যায়, যেমন [a-z], [A-Z], [0-9] ইত্যাদি।

উদাহরণ:

const regex = /[a-z]ello/;
console.log(regex.test("hello"));  // true
console.log(regex.test("Hello"));  // false

এখানে [a-z] এর অর্থ হলো ছোট হাতের যে কোনো অক্ষর।

৫. Special Character Classes

RegExp এ কিছু বিশেষ character classes রয়েছে, যেগুলো বিশেষ ধরণের অক্ষরগুলির সাথে মিল খুঁজতে ব্যবহৃত হয়।

Character Classবর্ণনাউদাহরণ
\dযেকোনো সংখ্যা (0-9)/\d/ "123" এর সাথে মিলবে
\Dসংখ্যা ব্যতীত অন্য কিছু/\D/ "abc" এর সাথে মিলবে
\wযেকোনো অক্ষর বা সংখ্যা (A-Z, a-z, 0-9, _)/\w/ "hello123" এর সাথে মিলবে
\Wঅক্ষর বা সংখ্যা ব্যতীত অন্য কিছু/\W/ "!" এর সাথে মিলবে
\sযেকোনো whitespace (space, tab)/\s/ "hello world" এর স্পেসের সাথে মিলবে

উদাহরণ:

const regex = /\d+/;
console.log(regex.test("My age is 25"));  // true

এখানে \d+ এর অর্থ হলো এক বা একাধিক সংখ্যা।

৬. Quantifiers

Quantifiers ব্যবহার করে নির্দিষ্ট সংখ্যক পুনরাবৃত্তি নির্ধারণ করা যায়। কিছু গুরুত্বপূর্ণ quantifiers হলো:

Quantifierবর্ণনাউদাহরণ
{n}ঠিক n বার পুনরাবৃত্তি/a{3}/ "aaa" এর সাথে মিলবে
{n,}কমপক্ষে n বার পুনরাবৃত্তি/a{2,}/ "aa", "aaa", "aaaa" এর সাথে মিলবে
{n,m}n থেকে m বার পর্যন্ত পুনরাবৃত্তি/a{2,4}/ "aa", "aaa", "aaaa" এর সাথে মিলবে

উদাহরণ:

const regex = /a{2,4}/;
console.log(regex.test("aaa"));  // true
console.log(regex.test("a"));    // false

এখানে a{2,4} এর অর্থ হলো a ২ থেকে ৪ বার পর্যন্ত পুনরাবৃত্তি হতে পারে।

RegExp এর সাধারণ ফাংশনসমূহ

JavaScript-এ RegExp এর বিভিন্ন ফাংশন রয়েছে, যেগুলো দিয়ে স্ট্রিং-এ প্যাটার্ন খোঁজা, প্রতিস্থাপন করা, এবং ম্যানিপুলেশন করা যায়।

১. test() ফাংশন

test() ফাংশন স্ট্রিং-এ কোনো প্যাটার্নের সাথে মিল রয়েছে কিনা তা যাচাই করে এবং true বা false রিটার্ন করে।

উদাহরণ:

const regex = /hello/;
console.log(regex.test("hello world"));  // true

২. match() ফাংশন

match() ফাংশন একটি স্ট্রিং থেকে সমস্ত ম্যাচিং রেজাল্ট রিটার্ন করে।

উদাহরণ:

const str = "The price is 50 dollars";
const result = str.match(/\d+/);
console.log(result);  // ["50"]

৩. replace() ফাংশন

replace() ফাংশন ব্যবহার করে কোনো স্ট্রিং-এর নির্দিষ্ট অংশ প্রতিস্থাপন করা যায়।

উদাহরণ:

const str = "I love JavaScript!";
const result = str.replace(/JavaScript/, "RegExp");
console.log(result);  // "I love RegExp!"

৪. split() ফাংশন

split() ফাংশন কোনো স্ট্রিং-কে নির্দিষ্ট প্যাটার্ন অনুযায়ী ভাগ করে।

উদাহরণ:

const str = "apple, banana, cherry";
const result = str.split(/,\s*/);
console.log(result);  // ["apple", "banana", "cherry"]

৫. search() ফাংশন

search() ফাংশন স্ট্রিং-এ নির্দিষ্ট প্যাটার্নের প্রথম অবস্থান খুঁজে বের করে।

উদাহরণ:

const str = "The quick brown fox";
const result = str.search(/quick/);
console.log(result);  // 4

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

১. ইমেইল ভ্যালিডেশন

const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
console.log(regex.test("example@gmail.com"));  // true
console.log(regex.test("example@com"));  // false

২. ফোন নম্বর ভ্যালিডেশন

const regex = /^\d{10}$/;
console.log(regex.test("0123456789"));  // true
console.log(regex.test("123-456-7890"));  // false

৩. পাসওয়ার্ড ভ্যালিডেশন (অন্তত ৮ অক্ষর, একটি সংখ্যা, এবং একটি বড় হাতের অক্ষর)

const regex = /^(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$/;
console.log(regex.test("Password1"));  // true
console.log(regex.test("password"));  // false

উপসংহার

JavaScript RegExp একটি অত্যন্ত শক্তিশালী টুল, যা স্ট্রিং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের প্যাটার্ন ম্যাচিং, ডেটা ভ্যালিডেশন, এবং টেক্সট প্রসেসিং কাজ করতে সহায়ক। RegExp এর প্রধান উপাদানগুলো যেমন character classes, metacharacters, এবং quantifiers সঠিকভাবে ব্যবহার করলে জটিল স্ট্রিং অপারেশনও সহজ হয়ে যায়।

Promotion

Are you sure to start over?

Loading...