Quantifiers (পরিমাণ নির্দেশক) হল Regex এর গুরুত্বপূর্ণ অংশ যা একটি নির্দিষ্ট প্যাটার্নের পুনরাবৃত্তির সংখ্যা নির্ধারণ করে। Java Regular Expressions এ আপনি Quantifiers ব্যবহার করে একটি প্যাটার্ন কতবার হতে পারে বা হওয়া উচিত তা নির্দিষ্ট করতে পারেন। বিভিন্ন ধরনের Quantifiers যেমন *, +, ?, {n}, {n,}, {n,m} প্রোগ্রামে টেক্সট ম্যাচিং ও বিশ্লেষণের কাজকে সহজ করে।
Quantifiers এর ধরন এবং ব্যবহার
1. * (Asterisk):
- অর্থ: প্যাটার্নটি 0 অথবা তার চেয়ে বেশি বার হতে পারে।
- ব্যবহার: এটি একটি নির্দিষ্ট ক্যারেক্টারের পুনরাবৃত্তি চিহ্নিত করে এবং এটি ওই ক্যারেক্টারটির 0 বা তার অধিক উপস্থিতি মেনে চলে।
উদাহরণ:
a*অর্থাৎ এক বা একাধিকaথাকতে পারে অথবা কোনোaনা-ও থাকতে পারে।- টেক্সট: "aaa", "a", "" (শূন্য স্ট্রিং) সবই এটি ম্যাচ করবে।
Pattern pattern = Pattern.compile("a*");
Matcher matcher = pattern.matcher("aaabaaa");
System.out.println(matcher.matches()); // Output: true
2. + (Plus):
- অর্থ: প্যাটার্নটি 1 অথবা তার চেয়ে বেশি বার হতে পারে।
- ব্যবহার: এটি একটি ক্যারেক্টার বা প্যাটার্নের একবার বা তার অধিক উপস্থিতি নির্দেশ করে।
উদাহরণ:
a+অর্থাৎ এক বা একাধিকaথাকতে হবে (শূন্য সংখ্যা নন)।- টেক্সট: "a", "aa", "aaa" - সবই এটি ম্যাচ করবে, কিন্তু "" (শূন্য স্ট্রিং) ম্যাচ করবে না।
Pattern pattern = Pattern.compile("a+");
Matcher matcher = pattern.matcher("aaabaaa");
System.out.println(matcher.matches()); // Output: true
3. ? (Question Mark):
- অর্থ: প্যাটার্নটি 0 অথবা 1 বার উপস্থিত হতে পারে।
- ব্যবহার: এটি কোনো ক্যারেক্টারের উপস্থিতি প্রয়োজন, কিন্তু এটি ঐ ক্যারেক্টারের উপস্থিতির সংখ্যা 0 অথবা 1 নির্ধারণ করতে সাহায্য করে।
উদাহরণ:
a?অর্থাৎ 0 বা 1 বারaথাকতে পারে।- টেক্সট: "a", "" (শূন্য স্ট্রিং) - এই দুটি স্ট্রিংই ম্যাচ করবে, কিন্তু "aa" ম্যাচ করবে না।
Pattern pattern = Pattern.compile("a?");
Matcher matcher = pattern.matcher("aaabaaa");
System.out.println(matcher.matches()); // Output: false
4. {n} (Exact Count):
- অর্থ: প্যাটার্নটি নির্দিষ্ট সংখ্যক বার উপস্থিত হতে হবে।
- ব্যবহার: এটি প্যাটার্নটি ঠিক n বার উপস্থিত হওয়ার জন্য নির্ধারণ করে।
উদাহরণ:
a{3}অর্থাৎ ঠিক তিনটিaথাকতে হবে।- টেক্সট: "aaa" - এটি ম্যাচ করবে, কিন্তু "aa", "aaaa" এগুলো ম্যাচ করবে না।
Pattern pattern = Pattern.compile("a{3}");
Matcher matcher = pattern.matcher("aaa");
System.out.println(matcher.matches()); // Output: true
5. {n,} (At Least n):
- অর্থ: প্যাটার্নটি n অথবা তার বেশি বার উপস্থিত হতে হবে।
- ব্যবহার: এটি প্যাটার্নটি n অথবা তার বেশি বার উপস্থিত হওয়া প্রয়োজন।
উদাহরণ:
a{2,}অর্থাৎ দুটি বা তার বেশিaথাকতে হবে।- টেক্সট: "aa", "aaa", "aaaa" - সবই এটি ম্যাচ করবে, কিন্তু "a" ম্যাচ করবে না।
Pattern pattern = Pattern.compile("a{2,}");
Matcher matcher = pattern.matcher("aaa");
System.out.println(matcher.matches()); // Output: true
6. {n,m} (Range of Count):
- অর্থ: প্যাটার্নটি n থেকে m বার পর্যন্ত উপস্থিত হতে পারে।
- ব্যবহার: এটি প্যাটার্নটি n থেকে m বার পর্যন্ত উপস্থিত হওয়ার জন্য নির্ধারণ করে।
উদাহরণ:
a{2,4}অর্থাৎ দুই থেকে চারটিaথাকতে হবে।- টেক্সট: "aa", "aaa", "aaaa" - সবই এটি ম্যাচ করবে, কিন্তু "a" এবং "aaaaa" ম্যাচ করবে না।
Pattern pattern = Pattern.compile("a{2,4}");
Matcher matcher = pattern.matcher("aaa");
System.out.println(matcher.matches()); // Output: true
Regex-এর Quantifiers আপনাকে একটি প্যাটার্নের পুনরাবৃত্তি সংখ্যা নির্ধারণ করতে সহায়ক, যা আপনার টেক্সট ম্যানিপুলেশন এবং matching কর্মক্ষমতা সহজ করে তোলে। Java Regex এ *, +, ?, {n}, {n,}, {n,m} এগুলো আপনাকে প্যাটার্নের উপস্থিতি নিয়ন্ত্রণ করতে সাহায্য করে। এগুলোর যথাযথ ব্যবহারের মাধ্যমে আপনি টেক্সট অনুসন্ধান, ভ্যালিডেশন, এবং ম্যানিপুলেশন আরও কার্যকরীভাবে করতে পারবেন।
Read more