Start এবং End Anchors রেগুলার এক্সপ্রেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে যখন আমরা একটি স্ট্রিংয়ের শুরু বা শেষের সাথে একটি প্যাটার্নের ম্যাচ করতে চাই।
- Start Anchor (
^):- এই অঙ্করটি রেগুলার এক্সপ্রেশন স্ট্রিংয়ের শুরুর দিকে মেলে।
- এটি নিশ্চিত করে যে রেগুলার এক্সপ্রেশনটি শুধুমাত্র স্ট্রিংয়ের শুরুর অংশে মেলে।
- End Anchor (
$):- এই অঙ্করটি রেগুলার এক্সপ্রেশন স্ট্রিংয়ের শেষের দিকে মেলে।
- এটি নিশ্চিত করে যে রেগুলার এক্সপ্রেশনটি শুধুমাত্র স্ট্রিংয়ের শেষের অংশে মেলে।
এগুলি সাধারণত স্ট্রিংয়ের প্যাটার্নের সঠিক অবস্থান চেক করতে ব্যবহৃত হয়।
Start এবং End Anchors এর উদাহরণ
উদাহরণ ১: Start Anchor (^)
আমরা যদি নিশ্চিত করতে চাই যে স্ট্রিংটি একটি নির্দিষ্ট শব্দ দিয়ে শুরু হচ্ছে, তাহলে ^ ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আমরা একটি স্ট্রিং চেক করতে চাই যাতে এটি "Hello" দিয়ে শুরু হয়:
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String regex = "^Hello"; // ^ ব্যবহার করা হয়েছে যে স্ট্রিং "Hello" দিয়ে শুরু হবে
String text = "Hello, world!";
// Pattern তৈরি করুন
Pattern pattern = Pattern.compile(regex);
// Matcher তৈরি করুন
Matcher matcher = pattern.matcher(text);
// স্ট্রিংয়ের শুরুতে প্যাটার্নটি খুঁজুন
boolean isMatch = matcher.matches();
System.out.println("Does the text start with 'Hello'? " + isMatch); // true
}
}
ব্যাখ্যা:
- এখানে,
^Helloপ্যাটার্নটি স্ট্রিংয়ের শুরুতে "Hello" খুঁজবে। matcher.matches()মেথডটি পুরো স্ট্রিংয়ের সাথে মেলে কিনা তা চেক করে।- আউটপুট হবে
true, কারণ স্ট্রিংটি "Hello" দিয়ে শুরু হচ্ছে।
উদাহরণ ২: End Anchor ($)
এখন, যদি আমরা নিশ্চিত করতে চাই যে স্ট্রিংটি একটি নির্দিষ্ট শব্দ দিয়ে শেষ হচ্ছে, তাহলে $ ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আমরা একটি স্ট্রিং চেক করতে চাই যাতে এটি "world!" দিয়ে শেষ হয়:
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String regex = "world!$"; // $ ব্যবহার করা হয়েছে যে স্ট্রিং "world!" দিয়ে শেষ হবে
String text = "Hello, world!";
// Pattern তৈরি করুন
Pattern pattern = Pattern.compile(regex);
// Matcher তৈরি করুন
Matcher matcher = pattern.matcher(text);
// স্ট্রিংয়ের শেষে প্যাটার্নটি খুঁজুন
boolean isMatch = matcher.matches();
System.out.println("Does the text end with 'world!'? " + isMatch); // true
}
}
ব্যাখ্যা:
- এখানে,
world!$প্যাটার্নটি স্ট্রিংয়ের শেষে "world!" খুঁজবে। matcher.matches()মেথডটি পুরো স্ট্রিংয়ের সাথে মেলে কিনা তা চেক করে।- আউটপুট হবে
true, কারণ স্ট্রিংটি "world!" দিয়ে শেষ হচ্ছে।
উদাহরণ ৩: Start এবং End Anchors একসাথে ব্যবহার
কখনও কখনও আপনি স্ট্রিংয়ের শুরু এবং শেষ উভয় জায়গাতে একটি নির্দিষ্ট প্যাটার্ন মেলাতে চাইবেন। এমনকি আপনি স্ট্রিংয়ের পুরো অংশের সাথে মেলানোর জন্য ^ এবং $ একসাথে ব্যবহার করতে পারেন।
ধরা যাক, আমরা চেক করতে চাই যে একটি স্ট্রিংটি "Hello world!" দিয়ে শুরু এবং শেষ হচ্ছে কিনা:
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String regex = "^Hello world!$"; // ^ এবং $ ব্যবহার করে পুরো স্ট্রিং "Hello world!" এর সাথে মেলানো হচ্ছে
String text = "Hello world!";
// Pattern তৈরি করুন
Pattern pattern = Pattern.compile(regex);
// Matcher তৈরি করুন
Matcher matcher = pattern.matcher(text);
// স্ট্রিংয়ের পুরো অংশে প্যাটার্নটি খুঁজুন
boolean isMatch = matcher.matches();
System.out.println("Does the text exactly match 'Hello world!'? " + isMatch); // true
}
}
ব্যাখ্যা:
- এখানে,
^Hello world!$প্যাটার্নটি স্ট্রিংয়ের শুরু এবং শেষ উভয় জায়গায় "Hello world!" চেক করে। matcher.matches()মেথডটি পুরো স্ট্রিংয়ের সাথে মেলে কিনা তা চেক করে।- আউটপুট হবে
true, কারণ স্ট্রিংটি সম্পূর্ণভাবে "Hello world!" এর সাথে মেলে।
উদাহরণ ৪: স্ট্রিংয়ের শুরু এবং শেষে কিছু শব্দ থাকা
ধরা যাক, আমরা স্ট্রিংটি চেক করতে চাই যাতে এটি "Start" দিয়ে শুরু হয় এবং "End" দিয়ে শেষ হয়:
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String regex = "^Start.*End$"; // ^Start দিয়ে শুরু হবে এবং End দিয়ে শেষ হবে
String text = "Start your journey at the End";
// Pattern তৈরি করুন
Pattern pattern = Pattern.compile(regex);
// Matcher তৈরি করুন
Matcher matcher = pattern.matcher(text);
// স্ট্রিংয়ের শুরু এবং শেষে প্যাটার্নটি খুঁজুন
boolean isMatch = matcher.matches();
System.out.println("Does the text start with 'Start' and end with 'End'? " + isMatch); // true
}
}
ব্যাখ্যা:
- এখানে,
^Start.*End$প্যাটার্নটি স্ট্রিংয়ের শুরুতে "Start" এবং শেষের দিকে "End" খুঁজবে।.*এখানে যে কোনও কনটেন্ট হতে পারে, তা গ্রহণ করে। - আউটপুট হবে
true, কারণ স্ট্রিংটি "Start" দিয়ে শুরু হয় এবং "End" দিয়ে শেষ হয়।
^(Start Anchor): এটি রেগুলার এক্সপ্রেশনকে স্ট্রিংয়ের শুরুতে মেলাতে ব্যবহার করা হয়।$(End Anchor): এটি রেগুলার এক্সপ্রেশনকে স্ট্রিংয়ের শেষে মেলাতে ব্যবহার করা হয়।- এই দুইটি অঙ্কর একত্রে ব্যবহৃত হয় স্ট্রিংয়ের পুরোটা মেলানোর জন্য, যেমন স্ট্রিংটি নির্দিষ্ট কিছু দিয়ে শুরু এবং শেষ হতে হবে।
Reflection এর মতো শক্তিশালী টুল দিয়ে Regex ব্যবহারের মাধ্যমে জাভাতে স্ট্রিং প্যাটার্নের সাথে সহজেই কাজ করা যায়।
Read more