জাভাস্ক্রিপ্টে রেগএক্সপি (RegExp) বা রেগুলার এক্সপ্রেশন (Regular Expression) একটি শক্তিশালী টুল, যা স্ট্রিং থেকে নির্দিষ্ট প্যাটার্ন অনুসন্ধান, মেলানো এবং পরিবর্তন করতে ব্যবহৃত হয়। এটি মূলত টেক্সট প্রসেসিংয়ের জন্য ব্যবহৃত হয়, যেমন প্যাটার্ন ম্যাচিং, অনুসন্ধান বা স্ট্রিং রিপ্লেসমেন্ট। রেগএক্সপি দিয়ে জটিল স্ট্রিং যাচাই করা, যেমন ইমেইল ঠিকানা, ফোন নম্বর, বা পাসওয়ার্ড ফরম্যাট ইত্যাদি করা সম্ভব।
রেগএক্সপি কিভাবে কাজ করে?
রেগএক্সপি একটি প্যাটার্নের মাধ্যমে কাজ করে যা স্ট্রিংয়ের ভিতরে নির্দিষ্ট ধরণের টেক্সট খুঁজে বের করতে সাহায্য করে। এই প্যাটার্ন সাধারণত অক্ষর, সংখ্যা, স্পেস এবং বিশেষ চিহ্ন দিয়ে গঠিত হয়। রেগএক্সপি ব্যবহারের মাধ্যমে আপনি প্যাটার্নের সাথে মেলানো স্ট্রিং খুঁজে বের করতে পারেন বা একটি স্ট্রিং পরিবর্তন করতে পারেন।
রেগএক্সপি সৃষ্টির দুটি প্রধান পদ্ধতি
লিটারেল পদ্ধতি
let regex = /pattern/;এই পদ্ধতিতে
/চিহ্নের মধ্যে প্যাটার্নটি লিখতে হয়। উদাহরণস্বরূপ,/abc/এটি 'abc' প্যাটার্ন খুঁজে বের করবে।কন্সট্রাক্টর পদ্ধতি
let regex = new RegExp("pattern");এখানে
RegExpকন্সট্রাক্টর ব্যবহার করা হয়। এই পদ্ধতিতে প্যাটার্ন একটি স্ট্রিং হিসেবে প্রদান করতে হয়। উদাহরণস্বরূপ,new RegExp("abc")এটি 'abc' প্যাটার্ন খুঁজবে।
রেগএক্সপি এর প্রধান বৈশিষ্ট্য ও ফাংশনসমূহ
test()
এটি একটি বুলিয়ান মান প্রদান করে, যা জানায় যে স্ট্রিংটি রেগএক্সপি প্যাটার্নের সাথে মেলে কিনা।let regex = /hello/; console.log(regex.test("hello world")); // trueexec()
এটি রেগএক্সপি প্যাটার্নের প্রথম মেলানো অংশের সাথে সম্পর্কিত তথ্য প্রদান করে। এটি যদি মেলানো না হয়, তবেnullরিটার্ন করবে।let regex = /world/; console.log(regex.exec("hello world")); // [ 'world', index: 6, input: 'hello world', groups: undefined ]match()
এটি স্ট্রিংয়ের সাথে রেগএক্সপি প্যাটার্নের সব মেলানো অংশকে একটি অ্যারে আকারে ফেরত দেয়।let str = "hello world"; console.log(str.match(/o/g)); // [ 'o', 'o' ]replace()
এটি স্ট্রিংয়ে রেগএক্সপি প্যাটার্নের সাথে মেলানো অংশকে অন্য একটি টেক্সট দিয়ে প্রতিস্থাপন করে।let str = "hello world"; let newStr = str.replace(/world/, "there"); console.log(newStr); // "hello there"
রেগএক্সপি এর সাধারণ প্যাটার্ন
- . (ডট) : যে কোন একক অক্ষর।
- \d : কোন সংখ্যা (০-৯)।
- \D : কোন অঙ্ক নয় এমন চরিত্র।
- \w : কোন অক্ষর, সংখ্যা বা আন্ডারস্কোর (), অর্থাৎ [A-Za-z0-9]।
- \W : কোন অক্ষর, সংখ্যা বা আন্ডারস্কোর নয় এমন চরিত্র।
- \s : সাদা স্পেস (যেমন: স্পেস, ট্যাব, লাইন ব্রেক)।
- \S : সাদা স্পেস নয় এমন চরিত্র।
- ^ : প্যাটার্নটি স্ট্রিংয়ের শুরুতে থাকা উচিত।
- $ : প্যাটার্নটি স্ট্রিংয়ের শেষে থাকা উচিত।
- [] : একটি চরিত্রের গ্রুপ। উদাহরণস্বরূপ,
[aeiou]যেকোনো একটি স্বরবর্ণ মেলাবে।
রেগএক্সপি ব্যবহারের উদাহরণ
ইমেইল যাচাই
একটি সাধারণ ইমেইল প্যাটার্ন তৈরি করা:let regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; let email = "test@example.com"; console.log(regex.test(email)); // trueফোন নম্বর যাচাই
একটি ফোন নম্বরের জন্য সাধারণ রেগএক্সপি:let regex = /^\d{10}$/; let phoneNumber = "1234567890"; console.log(regex.test(phoneNumber)); // true
জাভাস্ক্রিপ্টে রেগএক্সপি অত্যন্ত শক্তিশালী একটি টুল, যা ডেটা যাচাই, স্ট্রিং অনুসন্ধান এবং স্ট্রিংয়ের ভেতর নির্দিষ্ট প্যাটার্ন পরিবর্তন করতে সহজ ও কার্যকর পদ্ধতি প্রদান করে।
RegExp (রেগুলার এক্সপ্রেশন) একটি বিশেষ টুল যা সাধারণত স্ট্রিংয়ের মধ্যে প্যাটার্ন অনুসন্ধান এবং পরিবর্তন করতে ব্যবহৃত হয়। এটি একটি শক্তিশালী ফিচার যা স্ট্রিং থেকে নির্দিষ্ট শব্দ বা প্যাটার্ন খুঁজে বের করতে, যাচাই করতে এবং প্রয়োজনে সেগুলি পরিবর্তন করতে সাহায্য করে। RegExp মূলত একটি বিশেষ ধরনের প্যাটার্ন বা নিয়মের সেট, যা স্ট্রিংয়ের নির্দিষ্ট অংশের সাথে মেলে এমন যেকোনো টেক্সট খুঁজে বের করে।
RegExp এর ব্যবহার
RegExp বিভিন্ন ধরনের কাজ করতে পারে, যেমন:
- প্যাটার্ন মেলানো
আপনি যখন চান যে কোনো স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট শব্দ বা প্যাটার্ন খুঁজে বের করা হোক, তখন RegExp ব্যবহার করা হয়। - স্ট্রিং পরিবর্তন
একটি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট প্যাটার্ন পাওয়া গেলে, তা সহজেই পরিবর্তন করা যায় RegExp এর মাধ্যমে। - স্ট্রিং যাচাই
RegExp ব্যবহার করে আপনি একটি স্ট্রিংয়ের বৈধতা যাচাই করতে পারেন। যেমন, ইমেইল ঠিকানা, ফোন নম্বর বা পাসওয়ার্ডের প্যাটার্ন।
RegExp এর গঠন
RegExp সাধারণত একটি প্যাটার্ন দিয়ে গঠিত থাকে, যা স্ট্রিংয়ের সাথে মিলিয়ে দেখা হয়। RegExp এর গঠন সাধারণত কিছু সাধারণ নিয়ম অনুসরণ করে:
- লিটারেল প্যাটার্ন: যেমন
/pattern/ - কন্সট্রাক্টর পদ্ধতি:
new RegExp("pattern")
RegExp এর সাধারণ বৈশিষ্ট্য
- ডট (.): এটি যেকোনো একক চরিত্রকে মেলে। উদাহরণস্বরূপ,
a.bপ্যাটার্ন 'acb', 'a2b', 'a b' ইত্যাদি স্ট্রিংয়ের সাথে মেলে। - \d: এটি যেকোনো একক ডিজিট (০ থেকে ৯) মেলে।
- \w: এটি যেকোনো অক্ষর, সংখ্যা অথবা আন্ডারস্কোর (_) মেলে।
- ^: এটি স্ট্রিংয়ের শুরু নির্দেশ করে।
- $: এটি স্ট্রিংয়ের শেষ নির্দেশ করে।
RegExp এর কিছু সাধারণ উদাহরণ
ইমেইল যাচাই
একটি সাধারণ ইমেইল ঠিকানার জন্য RegExp:let regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; let email = "test@example.com"; console.log(regex.test(email)); // trueফোন নম্বর যাচাই
একটি সাধারণ ফোন নম্বর যাচাই প্যাটার্ন:let regex = /^\d{10}$/; let phoneNumber = "1234567890"; console.log(regex.test(phoneNumber)); // true
সারাংশ
RegExp হলো একটি শক্তিশালী টুল যা স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা, যাচাই করা এবং পরিবর্তন করতে ব্যবহৃত হয়। এটি জাভাস্ক্রিপ্টের একটি গুরুত্বপূর্ণ অংশ, যা ডেটা ভ্যালিডেশন, স্ট্রিং প্রসেসিং এবং অন্যান্য অনেক কাজের জন্য ব্যবহৃত হয়।
Regular Expressions এর ইতিহাস
Regular Expressions (RegEx) এর শিকড় গভীরে, কম্পিউটিংয়ের প্রাথমিক দিনগুলিতে। এটি প্রথম তৈরি হয় 1950-এর দশকে, যখন Stephen Cole Kleene নামক একটি গণিতজ্ঞ যুক্তরাষ্ট্রে এটি প্রবর্তন করেন। Kleene মূলত তার mathematical theory বা গাণিতিক তত্ত্বের মাধ্যমে একটি ফর্মাল ভাষার ধারণা দেন যা ছিল "regular sets" বা "স্বাভাবিক সেট"। তার তত্ত্বের ভিত্তিতে একটি regular expression এর ধারণা সৃষ্টি হয়।
কিন্তু, Regular Expressions কম্পিউটিংয়ে ব্যাপকভাবে জনপ্রিয়তা পায় 1970-এর দশকে, যখন Ken Thompson ইউনিক্স অপারেটিং সিস্টেমে এটি সংহত করেন। Thompson একটি প্রোগ্রামিং ভাষা তৈরি করার জন্য regular expressions এর শক্তি ব্যবহার করেন, যা পরে Unix tools (যেমন grep, sed, awk) এবং অন্যান্য কম্পিউটিং টুলগুলোর একটি অঙ্গ হয়ে ওঠে। এই টুলগুলোতে RegEx ব্যবহারের মাধ্যমে টেক্সট প্রসেসিং আরও সহজ, দ্রুত এবং দক্ষ হয়ে ওঠে।
Regular Expressions এর প্রাথমিক ধারণা
Regular Expressions (RegEx) হলো একটি বিশেষ প্যাটার্ন বা নিয়মের সেট, যা স্ট্রিংয়ের মধ্যে নির্দিষ্ট অক্ষর, শব্দ, সংখ্যা, অথবা অন্যান্য প্যাটার্ন খুঁজে বের করতে ব্যবহৃত হয়। RegEx মূলত একটি টেক্সট ম্যানিপুলেশন টুল যা নির্দিষ্ট শর্ত অনুসারে স্ট্রিংয়ের বিভিন্ন অংশের সাথে কাজ করে।
RegEx ব্যবহার করে আপনি:
- প্যাটার্ন ম্যাচিং করতে পারেন, যেমন কোনো শব্দ বা সংখ্যা স্ট্রিংয়ের মধ্যে আছে কি না।
- স্ট্রিং পরিবর্তন করতে পারেন, যেমন একটি নির্দিষ্ট শব্দ বা চরিত্র প্রতিস্থাপন।
- স্ট্রিং যাচাই করতে পারেন, যেমন ইমেইল ঠিকানা বা ফোন নম্বরের বৈধতা।
RegEx সাধারণত দুটি প্রধান ধাপে কাজ করে:
- প্যাটার্ন সংজ্ঞায়ন (Pattern Definition): এটি হলো প্যাটার্ন তৈরির প্রক্রিয়া, যেখানে আমরা নির্দিষ্ট নিয়ম বা নিয়মাবলী (rules) নির্ধারণ করি, যেমন কী ধরনের চরিত্র বা সংখ্যা খুঁজে পাওয়া যাবে।
- প্যাটার্ন ম্যাচিং (Pattern Matching): এটি হলো প্যাটার্নের সাথে স্ট্রিংয়ের মেলানো বা তুলনা করা, যাতে নির্দিষ্ট অংশ পাওয়া যায়।
RegEx এর মূল উপাদান
RegEx সাধারণত কিছু বিশেষ চিহ্ন বা মেটাচরিত্র দিয়ে গঠিত হয়, যা টেক্সট বা স্ট্রিংয়ের মধ্যে মেলানো যায়। এই মেটাচরিত্রগুলি স্ট্রিংয়ে উপস্থিত এক বা একাধিক চরিত্রের সাথে মেলে।
- . (ডট): যেকোনো একক চরিত্র মেলে (স্পেস, অক্ষর বা সংখ্যা)।
- \d: ডিজিট (০ থেকে ৯) মেলে।
- \w: শব্দ (অক্ষর, সংখ্যা, বা আন্ডারস্কোর) মেলে।
- \s: সাদা স্পেস (স্পেস, ট্যাব, লাইন ব্রেক) মেলে।
- ^ (ক্যারেট): স্ট্রিংয়ের শুরু নির্দেশ করে।
- $ (ডলারের চিহ্ন): স্ট্রিংয়ের শেষ নির্দেশ করে।
- [] (ব্র্যাকেট): একটি নির্দিষ্ট চরিত্র গ্রুপের সাথে মেলে।
- {} (কিউলিব্রেস ব্রেস): একাধিক চরিত্রের পুনরাবৃত্তি বা নির্দিষ্ট সংখ্যা নির্ধারণ করে।
RegEx এর ব্যবহার এবং জনপ্রিয়তা
প্রাথমিকভাবে, RegEx এর ব্যবহার সীমিত ছিল প্রোগ্রামিং ভাষা এবং অপারেটিং সিস্টেমের মধ্যে। তবে, এটি দ্রুত জনপ্রিয় হয়ে ওঠে বিভিন্ন টুল এবং প্রোগ্রামিং ভাষায় অন্তর্ভুক্ত হওয়ার মাধ্যমে। বর্তমানে, RegEx ব্যবহার হয়:
- ফাইল সিস্টেমে অনুসন্ধান:
grepবাfindএর মতো কমান্ড লাইন টুলে। - ওয়েব ডেভেলপমেন্টে: ইমেইল, URL, পাসওয়ার্ড ইত্যাদি যাচাই করতে।
- ডেটাবেসে: টেক্সট অনুসন্ধান এবং পরিবর্তন করতে।
- ডেটা সায়েন্স ও টেক্সট মাইনিং: ডেটা প্রক্রিয়াকরণ এবং ক্লিনিংয়ে।
এছাড়া, RegEx এখন অনেক প্রোগ্রামিং ভাষার অবিচ্ছেদ্য অংশ, যেমন JavaScript, Python, Java, PHP, Perl ইত্যাদি।
সারাংশ
Regular Expressions (RegEx) এর ইতিহাস প্রাচীন এবং গাণিতিক তত্ত্বের উপর ভিত্তি করে তৈরি হলেও বর্তমানে এটি কম্পিউটিংয়ে একটি অতি গুরুত্বপূর্ণ টুল হয়ে দাঁড়িয়েছে। এটি স্ট্রিং থেকে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে, যাচাই করতে এবং পরিবর্তন করতে ব্যবহৃত হয়, এবং আধুনিক প্রোগ্রামিং ও টেক্সট প্রসেসিংয়ে এর গুরুত্ব অপরিসীম।
JavaScript এ RegExp কেন এবং কিভাবে ব্যবহার করবেন?
JavaScript এ RegExp কেন ব্যবহার করবেন?
JavaScript এ RegExp (Regular Expressions) ব্যবহার করা হয় যখন আপনি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট প্যাটার্ন বা নিয়ম অনুসন্ধান করতে চান, সেগুলোর সঙ্গে মেলাতে চান বা পরিবর্তন করতে চান। এটি বিশেষভাবে উপকারী যখন:
- স্ট্রিং যাচাই: আপনি যদি ইমেইল ঠিকানা, ফোন নম্বর, পাসওয়ার্ড বা অন্যান্য ডেটার ফরম্যাট যাচাই করতে চান।
- স্ট্রিং অনুসন্ধান: স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট শব্দ বা চরিত্রের উপস্থিতি খুঁজে বের করতে।
- স্ট্রিং পরিবর্তন: কোনো নির্দিষ্ট প্যাটার্ন খুঁজে নিয়ে তা পরিবর্তন বা প্রতিস্থাপন করতে।
JavaScript এ RegExp ব্যবহারের সুবিধা হল এটি শক্তিশালী এবং ফ্লেক্সিবল। এটি আপনাকে খুব জটিল প্যাটার্ন নির্ধারণ করতে এবং সেগুলির সাথে স্ট্রিংয়ের মেলানো বা যাচাই করার সুযোগ দেয়।
JavaScript এ RegExp ব্যবহার করার পদ্ধতি
JavaScript এ RegExp ব্যবহার করার দুটি প্রধান পদ্ধতি রয়েছে:
লিটারেল পদ্ধতি (Literal Method): এই পদ্ধতিতে প্যাটার্নটি সরাসরি
/চিহ্নের মধ্যে লিখে তৈরি করা হয়।let regex = /pattern/;কন্সট্রাক্টর পদ্ধতি (Constructor Method): এই পদ্ধতিতে
RegExpকন্সট্রাক্টর ফাংশন ব্যবহার করে প্যাটার্ন তৈরি করা হয়।let regex = new RegExp("pattern");
এখন, চলুন দেখি কিছু সাধারণ উদাহরণ এবং RegExp এর ব্যবহার।
JavaScript এ RegExp এর বিভিন্ন ব্যবহার
১. স্ট্রিংয়ে প্যাটার্ন মেলানো (Matching a Pattern)
test() মেথডের মাধ্যমে আপনি একটি স্ট্রিংয়ের সাথে RegExp প্যাটার্ন মেলাতে পারেন। এটি একটি বুলিয়ান মান রিটার্ন করে, যা জানায় যে প্যাটার্নটি স্ট্রিংয়ের সাথে মেলে কি না।
let regex = /hello/;
let str = "hello world";
console.log(regex.test(str)); // true
এখানে, test() মেথডটি যাচাই করছে যে "hello" শব্দটি str স্ট্রিংয়ের মধ্যে আছে কিনা।
২. স্ট্রিং থেকে প্যাটার্ন অনুসন্ধান (Finding a Pattern)
exec() মেথডটি RegExp এর মাধ্যমে একটি স্ট্রিং থেকে প্যাটার্নের প্রথম মিল খুঁজে বের করে এবং মেলানো অংশের সাথে সম্পর্কিত তথ্য প্রদান করে।
let regex = /world/;
let str = "hello world";
console.log(regex.exec(str)); // [ 'world', index: 6, input: 'hello world', groups: undefined ]
এটি "world" শব্দটির প্রথম উপস্থিতি এবং তার অবস্থান জানিয়ে একটি অ্যারে রিটার্ন করবে।
৩. স্ট্রিং পরিবর্তন (Replacing a Pattern)
replace() মেথডের মাধ্যমে আপনি RegExp প্যাটার্নের সাথে মেলা অংশ পরিবর্তন করতে পারেন। এটি নতুন স্ট্রিং প্রদান করে যেখানে পুরানো অংশটি প্রতিস্থাপিত হয়।
let str = "hello world";
let regex = /world/;
let newStr = str.replace(regex, "there");
console.log(newStr); // "hello there"
এখানে, "world" শব্দটি "there" দিয়ে প্রতিস্থাপন করা হয়েছে।
৪. স্ট্রিং থেকে সমস্ত প্যাটার্ন খুঁজে বের করা (Finding All Matches)
match() মেথডটি স্ট্রিংয়ের মধ্যে সমস্ত প্যাটার্ন খুঁজে বের করে এবং একটি অ্যারে রিটার্ন করে।
let str = "hello world hello";
let regex = /hello/g;
console.log(str.match(regex)); // [ 'hello', 'hello' ]
এখানে, g ফ্ল্যাগটি নির্দেশ করছে যে স্ট্রিংয়ের মধ্যে সমস্ত "hello" প্যাটার্ন খুঁজে বের করা হবে।
JavaScript এ RegExp এর কিছু গুরুত্বপূর্ণ ফ্ল্যাগ
RegExp প্যাটার্নের সাথে কিছু বিশেষ ফ্ল্যাগ ব্যবহার করা যায় যা প্যাটার্ন মেলানোর আচরণ নির্ধারণ করে:
g (Global) - এটি RegExp প্যাটার্নের সাথে সমস্ত মেলা খুঁজে বের করবে, একটির পরিবর্তে।
উদাহরণ:
let regex = /a/g; let str = "apple banana"; console.log(str.match(regex)); // [ 'a', 'a', 'a' ]i (Ignore Case) - এটি প্যাটার্নের সাথে বড় হাতের এবং ছোট হাতের অক্ষর উভয়েই মেলে।
উদাহরণ:
let regex = /hello/i; let str = "HELLO world"; console.log(regex.test(str)); // truem (Multiline) - এটি স্ট্রিংয়ের মধ্যে একাধিক লাইনে প্যাটার্ন খুঁজে বের করবে।
উদাহরণ:
let regex = /^hello/m; let str = "hello\nworld"; console.log(regex.test(str)); // true
সারাংশ
JavaScript এ RegExp (Regular Expressions) ব্যবহারের মাধ্যমে আপনি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে, যাচাই করতে এবং পরিবর্তন করতে পারেন। এটি একটি অত্যন্ত শক্তিশালী টুল যা বিভিন্ন ধরনের স্ট্রিং প্রসেসিং কাজের জন্য উপযোগী। RegExp এর সাহায্যে আপনি ইমেইল, ফোন নম্বর, বা অন্যান্য প্যাটার্ন যাচাই করতে পারেন, স্ট্রিংয়ের মধ্যে নির্দিষ্ট অংশ খুঁজে পেতে পারেন এবং প্রয়োজনীয় পরিবর্তন করতে পারেন।
RegExp এর মৌলিক গঠন
RegExp (Regular Expressions) এর মৌলিক গঠন সাধারণত একটি নির্দিষ্ট প্যাটার্নের মধ্য দিয়ে তৈরি হয়, যা স্ট্রিংয়ের মধ্যে মেলানো যায়। JavaScript এ একটি RegExp তৈরি করতে সাধারণত দুটি পদ্ধতি ব্যবহৃত হয়:
লিটারেল পদ্ধতি (Literal Notation):
এই পদ্ধতিতে প্যাটার্নটি/চিহ্নের মধ্যে লেখা হয়। এটি সবচেয়ে সহজ এবং কমন পদ্ধতি।
উদাহরণ:let regex = /pattern/;কন্সট্রাক্টর পদ্ধতি (Constructor Notation):
এই পদ্ধতিতেRegExpকন্সট্রাক্টর ব্যবহার করা হয়। এই পদ্ধতিতে প্যাটার্নটি একটি স্ট্রিং হিসেবে প্রদান করতে হয়।
উদাহরণ:let regex = new RegExp("pattern");
RegExp সিনট্যাক্স
JavaScript এ RegExp এর সিনট্যাক্স বা গঠন কয়েকটি অংশে বিভক্ত থাকে। মূল অংশগুলোর মধ্যে রয়েছে:
- অক্ষর (Characters)
RegExp এর মধ্যে থাকা এক বা একাধিক অক্ষর প্যাটার্ন হিসেবে কাজ করে। উদাহরণস্বরূপ,/abc/প্যাটার্নটি "abc" স্ট্রিংয়ের সাথে মিলে যাবে।/a/: শুধুমাত্র "a" খুঁজবে।/abc/: "abc" খুঁজবে।
- বিশেষ চরিত্র (Metacharacters)
RegExp এ কিছু বিশেষ চরিত্র থাকে, যেগুলি স্ট্রিংয়ের নির্দিষ্ট অংশের সাথে মেলানো যায়। এগুলি স্ট্রিংয়ের মধ্যে বিশেষ অর্থ প্রকাশ করে।- . (ডট): যেকোনো একক চরিত্র (অক্ষর, সংখ্যা, স্পেস)।
উদাহরণ:/a.b/মেলে 'acb', 'a2b', 'a b' এর সাথে। - ^ (ক্যারেট): প্যাটার্নটি স্ট্রিংয়ের শুরুতে থাকতে হবে।
উদাহরণ:/^a/মেলে "apple" এর সাথে, কিন্তু "banana" এর সাথে মেলবে না। - $ (ডলারের চিহ্ন): প্যাটার্নটি স্ট্রিংয়ের শেষ অংশে থাকতে হবে।
উদাহরণ:/b$/মেলে "bob" এর সাথে, কিন্তু "ball" এর সাথে মেলবে না। - [] (ব্র্যাকেট): একটি নির্দিষ্ট চরিত্রের গ্রুপের সাথে মেলে।
উদাহরণ:/[aeiou]/যেকোনো স্বরবর্ণের সাথে মেলে।
- . (ডট): যেকোনো একক চরিত্র (অক্ষর, সংখ্যা, স্পেস)।
- বিশেষ শ্রেণী (Character Classes)
RegExp এ কিছু সাধারণ শ্রেণী রয়েছে, যা আপনাকে নির্দিষ্ট ধরনের অক্ষরের সাথে মেলাতে সাহায্য করে। উদাহরণস্বরূপ:- \d: যেকোনো ডিজিট (০-৯)।
উদাহরণ:/\d/মেলে "5" এর সাথে, কিন্তু "a" এর সাথে নয়। - \D: কোন ডিজিট নয় এমন চরিত্র।
উদাহরণ:/\D/মেলে "a" এর সাথে, কিন্তু "5" এর সাথে নয়। - \w: যেকোনো অক্ষর, সংখ্যা অথবা আন্ডারস্কোর (_)।
উদাহরণ:/\w/মেলে "a", "5", "abc" এর সাথে। - \W: কোন অক্ষর, সংখ্যা বা আন্ডারস্কোর নয় এমন চরিত্র।
উদাহরণ:/\W/মেলে " " (স্পেস), "@", "#" এর সাথে। - \s: সাদা স্পেস (স্পেস, ট্যাব, লাইন ব্রেক)।
উদাহরণ:/\s/মেলে " " (স্পেস), "\t" (ট্যাব), "\n" (নতুন লাইন) এর সাথে। - \S: কোন সাদা স্পেস নয় এমন চরিত্র।
উদাহরণ:/\S/মেলে "a", "5" এর সাথে, কিন্তু " " (স্পেস) এর সাথে নয়।
- \d: যেকোনো ডিজিট (০-৯)।
- পুনরাবৃত্তি চিহ্ন (Quantifiers)
RegExp এ কিছু চিহ্ন থাকে যা নির্ধারণ করে একটি চরিত্র বা প্যাটার্ন কতবার পুনরাবৃত্তি হবে:- +: এক বা একাধিক বার পুনরাবৃত্তি।
উদাহরণ:/a+/মেলে "a", "aa", "aaa" ইত্যাদি এর সাথে। - *: শূন্য বা একাধিক বার পুনরাবৃত্তি।
উদাহরণ:/a*/মেলে "", "a", "aa", "aaa" এর সাথে। - {n}: নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি।
উদাহরণ:/a{3}/মেলে "aaa" এর সাথে। - {n,}: n বা তার বেশি বার পুনরাবৃত্তি।
উদাহরণ:/a{2,}/মেলে "aa", "aaa", "aaaa" ইত্যাদি এর সাথে। - {n,m}: n থেকে m বার পুনরাবৃত্তি।
উদাহরণ:/a{2,4}/মেলে "aa", "aaa", "aaaa" এর সাথে।
- +: এক বা একাধিক বার পুনরাবৃত্তি।
RegExp এর ব্যবহার
JavaScript এ RegExp এর সাথে কাজ করার জন্য বেশ কিছু মেথড রয়েছে। কিছু প্রধান মেথড:
test(): RegExp প্যাটার্নটি স্ট্রিংয়ের সাথে মেলে কিনা তা যাচাই করে।
let regex = /hello/; let str = "hello world"; console.log(regex.test(str)); // trueexec(): RegExp প্যাটার্নের প্রথম মিল খুঁজে বের করে এবং এর সাথে সম্পর্কিত তথ্য প্রদান করে।
let regex = /world/; let str = "hello world"; console.log(regex.exec(str)); // [ 'world', index: 6, input: 'hello world', groups: undefined ]match(): স্ট্রিংয়ের মধ্যে RegExp প্যাটার্নের সব মিল খুঁজে বের করে।
let str = "hello world hello"; console.log(str.match(/hello/g)); // [ 'hello', 'hello' ]replace(): RegExp প্যাটার্নের সাথে মেলা অংশ পরিবর্তন করতে ব্যবহৃত হয়।
let str = "hello world"; let newStr = str.replace(/world/, "there"); console.log(newStr); // "hello there"
সারাংশ
JavaScript এ RegExp (Regular Expressions) এর মৌলিক গঠন স্ট্রিংয়ের মধ্যে প্যাটার্ন খুঁজে বের করার জন্য নির্দিষ্ট সিনট্যাক্স ব্যবহার করে। এর মধ্যে রয়েছে বিশেষ চরিত্র, শ্রেণী, পুনরাবৃত্তি চিহ্ন এবং বিভিন্ন মেথড যা স্ট্রিংয়ের মধ্যে প্যাটার্ন মেলাতে এবং পরিবর্তন করতে সাহায্য করে। JavaScript এ RegExp এর সাহায্যে আপনি সহজেই টেক্সট প্রসেসিং, ডেটা যাচাই এবং স্ট্রিং ম্যানিপুলেশন করতে পারেন।
Read more