Anchors হল Regular Expressions (Regex) এর একটি গুরুত্বপূর্ণ অংশ, যা স্ট্রিং মাচিংকে আরও নির্দিষ্ট এবং কার্যকরী করে তোলে। Anchors স্ট্রিংয়ের কিছু নির্দিষ্ট অংশে মাচিং করার জন্য ব্যবহৃত হয়। ^ (Beginning) এবং $ (End) হল দুটি প্রধান অ্যাঙ্কর যা Java Regular Expressions এ ব্যবহৃত হয়।
এই দুটি অ্যাঙ্কর Java-তে রেগুলার এক্সপ্রেশন প্যাটার্নের মধ্যে স্ট্রিংয়ের শুরু এবং শেষ পজিশন নির্দেশ করে। যখন আপনি java.util.regex প্যাকেজে রেগুলার এক্সপ্রেশন ব্যবহার করবেন, তখন এগুলি সাহায্য করবে আপনাকে নির্দিষ্ট অবস্থানে মাচিং করতে।
Anchors - ^ (Beginning) এবং $ (End)
- ^ (Beginning) Anchor:
- ^ অ্যাঙ্করটি স্ট্রিংয়ের শুরুতে মাচিং নির্দেশ করে। এটি নিশ্চিত করে যে প্যাটার্নটি স্ট্রিংয়ের প্রথমে উপস্থিত হবে।
- উদাহরণস্বরূপ,
^abcপ্যাটার্নটি শুধুমাত্র তখনই মিলে যদি স্ট্রিংটি"abc..."এর মতো শুরু হয়।
- $ (End) Anchor:
- $ অ্যাঙ্করটি স্ট্রিংয়ের শেষের দিকে মাচিং নির্দেশ করে। এটি নিশ্চিত করে যে প্যাটার্নটি স্ট্রিংয়ের শেষে উপস্থিত হবে।
- উদাহরণস্বরূপ,
abc$প্যাটার্নটি শুধুমাত্র তখনই মিলে যদি স্ট্রিংটি"...abc"দিয়ে শেষ হয়।
Anchors ব্যবহার করার উদাহরণ:
উদাহরণ 1: ^ (Beginning) অ্যাঙ্কর ব্যবহার করা
import java.util.regex.*;
public class RegexBeginningExample {
public static void main(String[] args) {
// Regular expression to check if string starts with "abc"
String regex = "^abc";
// Input strings
String input1 = "abc123";
String input2 = "123abc";
// Compile the regex
Pattern pattern = Pattern.compile(regex);
// Create matcher objects for both input strings
Matcher matcher1 = pattern.matcher(input1);
Matcher matcher2 = pattern.matcher(input2);
// Check if the pattern matches the beginning of the string
System.out.println("Does input1 start with 'abc'? " + matcher1.matches()); // true
System.out.println("Does input2 start with 'abc'? " + matcher2.matches()); // false
}
}
আউটপুট:
Does input1 start with 'abc'? true
Does input2 start with 'abc'? false
কোড বিশ্লেষণ:
- এখানে
^abcপ্যাটার্নটি নিশ্চিত করেছে যে ইনপুট স্ট্রিংটি"abc"দিয়ে শুরু করছে কিনা।input1এর ক্ষেত্রে এটি মিলে যায়, কিন্তুinput2এর ক্ষেত্রে এটি মেলে না কারণ এটি"123abc"দিয়ে শুরু হয়।
উদাহরণ 2: $ (End) অ্যাঙ্কর ব্যবহার করা
import java.util.regex.*;
public class RegexEndExample {
public static void main(String[] args) {
// Regular expression to check if string ends with "abc"
String regex = "abc$";
// Input strings
String input1 = "123abc";
String input2 = "abc123";
// Compile the regex
Pattern pattern = Pattern.compile(regex);
// Create matcher objects for both input strings
Matcher matcher1 = pattern.matcher(input1);
Matcher matcher2 = pattern.matcher(input2);
// Check if the pattern matches the end of the string
System.out.println("Does input1 end with 'abc'? " + matcher1.matches()); // true
System.out.println("Does input2 end with 'abc'? " + matcher2.matches()); // false
}
}
আউটপুট:
Does input1 end with 'abc'? true
Does input2 end with 'abc'? false
কোড বিশ্লেষণ:
- এখানে
abc$প্যাটার্নটি নিশ্চিত করেছে যে ইনপুট স্ট্রিংটি"abc"দিয়ে শেষ হচ্ছে কিনা।input1এর ক্ষেত্রে এটি মেলে, কিন্তুinput2এর ক্ষেত্রে এটি মেলে না কারণ এটি"abc123"দিয়ে শেষ হয়।
উদাহরণ 3: ^ (Beginning) এবং $ (End) অ্যাঙ্কর ব্যবহার করা
import java.util.regex.*;
public class RegexBeginEndExample {
public static void main(String[] args) {
// Regular expression to check if string starts with "abc" and ends with "xyz"
String regex = "^abc.*xyz$";
// Input strings
String input1 = "abc123xyz";
String input2 = "abcxyz123";
// Compile the regex
Pattern pattern = Pattern.compile(regex);
// Create matcher objects for both input strings
Matcher matcher1 = pattern.matcher(input1);
Matcher matcher2 = pattern.matcher(input2);
// Check if the pattern matches the entire string
System.out.println("Does input1 match the pattern? " + matcher1.matches()); // true
System.out.println("Does input2 match the pattern? " + matcher2.matches()); // false
}
}
আউটপুট:
Does input1 match the pattern? true
Does input2 match the pattern? false
কোড বিশ্লেষণ:
- এখানে
^abc.*xyz$প্যাটার্নটি নিশ্চিত করেছে যে স্ট্রিংটি"abc"দিয়ে শুরু এবং"xyz"দিয়ে শেষ হচ্ছে।input1এর ক্ষেত্রে এটি মেলে, কিন্তুinput2এর ক্ষেত্রে এটি মেলে না, কারণ"abcxyz123""xyz"দিয়ে শেষ হচ্ছে না।
Anchors এর ভূমিকা:
- Input Validation:
- Anchors সাধারণত ইনপুট ভ্যালিডেশন করার জন্য ব্যবহৃত হয়, যেমন: স্ট্রিংটি শুরু বা শেষ কোথায় হচ্ছে।
- Exact Matching:
- যখন আপনি নিশ্চিত করতে চান যে একটি স্ট্রিং সম্পূর্ণভাবে নির্দিষ্ট প্যাটার্নের সাথে মেলে, তখন Anchors ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি ইমেইল বা ফোন নম্বরের সঠিক ফরম্যাট যাচাই করতে Anchors সাহায্য করতে পারে।
- Efficient Search:
- Anchors মাচিংয়ের স্থান (beginning বা end) নির্ধারণ করে, এটি অনুসন্ধান প্রক্রিয়াকে দ্রুত এবং কার্যকরী করে তোলে।
- ^ (Beginning) এবং $ (End) হল দুইটি গুরুত্বপূর্ণ অ্যাঙ্কর যা Regular Expressions এ ব্যবহৃত হয়।
^স্ট্রিংয়ের শুরুতে মাচিং নির্দেশ করে, এবং$স্ট্রিংয়ের শেষের দিকে মাচিং নির্দেশ করে। - Java Regex এ Anchors ব্যবহার করে আপনি নির্দিষ্ট স্ট্রিং প্যাটার্নগুলোর অবস্থান নির্ধারণ করতে পারেন এবং তা আরও কার্যকরীভাবে ম্যানিপুলেট করতে পারেন।
- এগুলি বিভিন্ন ধরনের স্ট্রিং ভ্যালিডেশন এবং মাচিং কাজের জন্য খুবই উপকারী এবং জনপ্রিয়।
Read more