জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশন
রেগুলার এক্সপ্রেশন হচ্ছে কিছু ক্যারেক্টারের ধারা যা একটি সার্চ প্যাটার্ন তৈরি করে।
সার্চ প্যাটার্নটি টেক্সট খোজার জন্য এবং টেক্সট প্রতিস্থাপনের জন্য ব্যবহার করা যায়।
রেগুলার এক্সপ্রেশন বলতে কী বোঝায়?
রেগুলার এক্সপ্রেশন হচ্ছে কিছু ক্যারেক্টারের ধারা যা একটি সার্চ প্যাটার্ন তৈরি করে।
টেক্সটের মধ্যে ডাটা খোজার সময় আপনি এই সার্চ প্যাটার্নের মাধ্যমে বলে দিতে পারেন কি পেতে চাইছেন।
রেগুলার এক্সপ্রেশন একটি ক্যারেক্টার অথবা আরো জটিল প্যাটার্নের হতে পারে।
গঠনপ্রণালী
/pattern/modifiers;
var patt = /sattacademy/i;
উদাহরণের ব্যাখ্যাঃ
/sattacademy/i একটি রেগুলার এক্সপ্রেশন।
sattacademy একটি প্যাটার্ন।(একটি অনুসন্ধান ব্যবহার করা হবে)
i একটি মডিফায়ার(যা সার্চকে কেস ইনসেন্সিটিভ হবে নির্দেশ করে)।
স্ট্রিং মেথডের ব্যবহার
জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশন দুটি স্ট্রিং মেথড দ্বারা ব্যবহার করা হয়ঃ search() এবং replace() মেথড।
search() মেথড মিল খোজার জন্য এক্সপ্রেশন ব্যবহার করে এবং এর অবস্থান রিটার্ন করে।
replace() মেথড পরিবর্তিত স্ট্রিংকে রিটার্ন করে।
search() মেথডে রেগুলার এক্সপ্রেশনের ব্যবহার
উদাহরণ
একটি স্ট্রিং-এর মধ্যে "sattacademy" অনুসন্ধান করতে একটি রেগুলার এক্সপ্রেশন ব্যবহার করিঃ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3>স্যাট একডেমী এর জন্য একটি স্টিং অনুসন্ধান করে এবং কাঙ্খিত অবস্থান প্রদর্শন করেঃ</h3>
<button onclick="myFunc()"> চেষ্টা করি </button>
<p id="test"></p>
<script>
function myFunc() {
var text = "Visit sattacademy!";
var n = text.search(/sattacademy/i);
document.getElementById("test").innerHTML = n;
}
</script>
</body>
</html>
ফলাফল
search() মেথডে স্ট্রিং-এর ব্যবহার
search মেথড আর্গুমেন্ট হিসাবে একটি স্ট্রিং গ্রহণ করে। স্ট্রিং আর্গুমেন্ট একটি রেগুলার এক্সপ্রেশনে রূপান্তরিত হবেঃ
উদাহরণ
একটি স্ট্রিং-এর মধ্যে "SATTacademy" অনুসন্ধান করতে একটি স্ট্রিং ব্যবহার করিঃ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> "sattacademy" এর জন্য স্ট্রিং অনুসন্ধান করবে এবং পজিশণ প্রদর্শণ করবেঃ </h3>
<button onclick="myFunc()">ক্লিক</button>
<p id="test"></p>
<script>
function myFunc() {
var text = "Visit sattacademy!";
var n = text.search("sattacademy");
document.getElementById("test").innerHTML = n;
}
</script>
</body>
</html>
ফলাফল
replace() মেথডে রেগুলার এক্সপ্রেশনের ব্যবহার
উদাহরণ
একটি স্ট্রিং-এর মধ্যে codeacademy এর স্থানে SATTacademy প্রতিস্থাপন করতে রেগুলার এক্সপ্রেশনের ব্যবহারঃ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> নিচের প্যারাগ্রাফে codeacademy এর স্থানেে sattacademy প্রতিস্থাপন করুনঃ </h3>
<button onclick="myFunc()"> চেষ্টা করি </button>
<p id="test"> ঘুরে আসুন codeacademy!</p>
<script>
function myFunc() {
var text= document.getElementById("txt").innerHTML;
var n = text.replace(/codeacademy/i,"sattacademy");
document.getElementById("txt").innerHTML = n;
}
</script>
</body>
</html>
ফলাফল
replace() মেথডে স্ট্রিং-এর ব্যবহার
replace() মেথড আর্গুমেন্ট হিসেবে একটি স্ট্রিংও গ্রহণ করেঃ
উদাহরণ
replace() মেথড আর্গুমেন্ট হিসেবে একটি স্ট্রিংও গ্রহণ করেঃ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3> নিচের প্যারাগ্রাফে codeacademy এর স্থানেে sattacademy প্রতিস্থাপন করুনঃ </h3>
<button onclick="myFunc()"> চেষ্টা করি </button>
<p id="test"> ঘুরে আসুন codeacademy!</p>
<script>
function myFunc() {
var text= document.getElementById("test").innerHTML;
var n = text.replace("codeacademy","sattacademy");
document.getElementById("test").innerHTML = n;
}
</script>
</body>
</html>
ফলাফল
লক্ষণীয় বিষয়
উপরের মেথডগুলোতে আর্গুমেন্ট হিসেবে রেগুলার এক্সপ্রেশন ব্যবহার করা যায়।
রেগুলার এক্সপ্রেশনের ব্যবহার আপনার অনুসন্ধান অনেক বেশি শক্তিশালী করতে পারে।
রেগুলার এক্সপ্রেশন মডিফায়ার
মডিফায়ার | বর্ণনা |
---|---|
i | অনুসন্ধান কেস-ইনসেন্সিটিভ হবে |
g | সম্পূর্ন মিলকে খুজে বের করবে |
m | একাধিক লাইনের মিল খুঁজে বের করে |
রেগুলার এক্সপ্রেশন প্যাটার্ন
এক্সপ্রেশন | বর্ণনা |
---|---|
[abc] | ব্র্যাকেটের মাঝের যেকোনো অক্ষর খুজে বের করে |
[0-9] | ব্র্যাকেটের মাঝের যেকোনো সংখ্যা খুজে বের করে |
(x|y) | | দ্বারা বিভক্ত দুইটির যেকোন একটি খুজে বের করে |
মেটা-ক্যারেক্টার বিশেষ অর্থ সম্বলিত কিছু ক্যারেক্টারঃ
মেটা-ক্যারেক্টার | বর্ণনা |
---|---|
\d | একটি সংখ্যা খুজে বের করে |
\s | একটি সাদা স্পেস অক্ষর খুজে বের করে |
\b | একটি শব্দের শুরু অথবা শেষে মিল খুজে বের করে |
\uxxxx | হেক্সাডেসিমেল xxxx নম্বর দ্বারা নির্দেশিত ইউনিকোড ক্যারেক্টার খুজে বের করে |
কোয়ান্টিফায়ার বিদ্যমানতা বুঝায়ঃ
কোয়ান্টিফায়ার | বর্ণনা |
---|---|
n+ | যেসকল স্ট্রিং-এ অন্তত একটি n রয়েছে তাদেরকে খুজে বের করে |
n* | যেসকল স্ট্রিং-এ শূন্য অথবা একের অধিক n রয়েছে তাদের খুজে বের করে |
n? | যেসকল স্ট্রিং-এ শূন্য অথবা একটি n রয়েছে তাদের খুজে বের করে |
রেগুলার এক্সপ্রেশন অবজেক্ট ব্যবহার
জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশন অবজেক্ট হলো পূর্বনির্ধারিত প্রোপার্টি ও মেথডসহ একটি অবজেক্ট।
test() মেথডের ব্যবহার
test() মেথড হচ্ছে রেগুলার এক্সপ্রেশনের একটি মেথড।
ইহা একটি স্ট্রিং-এর মধ্যে একটি নমুনা/প্যাটার্ন খোজে,যদি খুজে পায় তাহলে true রিটার্ন করে,না পেলে false রিটার্ন করে।
নিম্নলিখিত উদাহরণটিতে একটি স্ট্রিং-এ "a" অক্ষরটি খুজে বের করবেঃ
var patt = /a/;<br>
patt.test("Be Happy!");
যেহেতু উপরের স্ট্রিং-এ "e" রয়েছে, সেহেতু ফলাফল হবেঃ
ফলাফল
true
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3>পরবর্তী প্যারাগ্রাফে "a" অক্ষরটি অনুসন্ধান করি :</h3>
<p id="para1"> Be Happy! "</p>
<button onclick="myFunc()"> চেষ্টা করি </button>
<p id="test"></p>
<script>
function myFunc() {
text = document.getElementById("para1").innerHTML;
document.getElementById("test").innerHTML = /a/.test(text);
}
</script>
</body>
</html>
ফলাফল
exec() ব্যবহার
exec() মেথড একটি রেগুলার এক্সপ্রেশন মেথড।
ইহা একটি স্ট্রিং-এর মধ্যে নির্দিষ্টা নমুনা/প্যাটার্ন খোজে,যদি খুজে পায় তাহলে ঐ টেক্সটটি রিটার্ন করবে। যদি না পাওয়া যায় তবে null রিটার্ন করবে।
নিম্নলিখিত উদাহরণটিতে একটি স্ট্রিং-এ "a" অক্ষরটি খুজে বের করবেঃ
var patt = /a/;<br>
patt.exec("Be Happy!");
যেহেতু উপরের স্ট্রিং-এ "a" রয়েছে, সেহেতু ফলাফল হবেঃ
ফলাফল
a
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>
<h3>পরবর্তী প্যারাগ্রাফে "a" অক্ষরটি অনুসন্ধান করি :<h3p>
<p id="para1">Be Happy!</p>
<button onclick="myFunc()">চেষ্টা করি </button>
<p id="test"></p>
<script>
function myFunc() {
text = document.getElementById("para1").innerHTML;
document.getElementById("test").innerHTML = /a/.exec(text);
}
</script>
</body>
</html>
ফলাফল
সম্পূর্ণ রেগুলার এক্সপ্রেশন রেফারেন্স
সম্পূর্ণ রেফারেন্সের জন্য আমাদের জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশন রেফারেন্স পড়ুন। রেফারেন্সে সকল রেগুলার এক্সপ্রেশন প্রোপার্টি মেথড এর উদাহরণ এবং বর্ণনা রয়েছে।