java.regex-এর প্যাটার্ন ক্লাস প্যাকেজ হল একটি রেগুলার এক্সপ্রেশনের একটি সংকলিত উপস্থাপনা৷
কম্পাইল() এই শ্রেণীর পদ্ধতি একটি রেগুলার এক্সপ্রেশন প্রতিনিধিত্বকারী একটি স্ট্রিং মান গ্রহণ করে এবং একটি প্যাটার্ন প্রদান করে অবজেক্ট, নিম্নলিখিত এই পদ্ধতির স্বাক্ষর।
static Pattern compile(String regex)
এই পদ্ধতির আরেকটি বৈকল্পিক পতাকা প্রতিনিধিত্বকারী একটি পূর্ণসংখ্যা মান গ্রহণ করে, নিম্নলিখিত দুটি প্যারামিটার সহ কম্পাইল পদ্ধতির স্বাক্ষর।
static Pattern compile(String regex, int flags)
প্যাটার্ন ক্লাস বিভিন্ন ক্ষেত্র প্রদান করে প্রতিটি একটি পতাকা প্রতিনিধিত্ব করে
S.No | ক্ষেত্র এবং বর্ণনা |
---|---|
1 | CANON_EQ দুটি অক্ষর শুধুমাত্র মানসম্মতভাবে সমান হলেই মেলে। |
2 | CASE_INSENSITIVE কেস নির্বিশেষে অক্ষর মেলে। |
3 | মন্তব্যগুলি৷ সাদা স্থান এবং প্যাটার্নে মন্তব্য করার অনুমতি দেয়। |
4 | ডটল ডটল মোড সক্ষম করে। যেখানে "।" মেটা অক্ষর লাইন টার্মিনেটর সহ সমস্ত অক্ষরের সাথে মেলে। |
5 | লিটারাল প্যাটার্নের আক্ষরিক পার্সিং সক্ষম করে। অর্থাত্ ইনপুট সিকোয়েন্সের সমস্ত মেটাক্যারেক্টার এবং এস্কেপ সিকোয়েন্সগুলিকে আক্ষরিক অক্ষর হিসাবে বিবেচনা করা হয়। |
6 | মাল্টিলাইন মাল্টিলাইন মোড সক্ষম করে অর্থাৎ পুরো ইনপুট সিকোয়েন্সটিকে একক লাইন হিসাবে বিবেচনা করা হয়। |
7 | UNICODE_CASE ইউনিকোড-সচেতন কেস ফোল্ডিং সক্ষম করে, যখন CASE_INSENSITIVE এর সাথে ব্যবহার করা হয়। রেগুলার এক্সপ্রেশন ব্যবহার করে ইউনিকোড অক্ষর সার্চ করলে উভয় ক্ষেত্রেই ইউনিকোড অক্ষর মিলে যাবে। |
8 | UNICODE_CHARACTER_CLASS পূর্বনির্ধারিত অক্ষর ক্লাস এবং POSIX অক্ষর ক্লাসের ইউনিকোড সংস্করণ সক্ষম করে৷ |
9 | UNIX_LINES এই পতাকাটি ইউনিক্স লাইন মোড সক্ষম করে। |
পতাকা() এই শ্রেণীর পদ্ধতি বর্তমান প্যাটার্নে ব্যবহৃত পতাকা প্রদান করে।
উদাহরণ
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter your name: "); String name = sc.nextLine(); System.out.println("Enter your Date of birth: "); String dob = sc.nextLine(); //Regular expression to accept date in MM-DD-YYY format String regex = "^(1[0-2]|0[1-9])/ # For Month\n" + "(3[01]|[12][0-9]|0[1-9])/ # For Date\n" + "[0-9]{4}$ # For Year"; //Creating a Pattern object Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //Creating a Matcher object Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("Given date of birth is valid"); } else { System.out.println("Given date of birth is not valid"); } System.out.println("Flag used: "+ pattern.flags()); } }
আউটপুট
Enter your name: Krishna Enter your Date of birth: 09/26/1989 Given date of birth is valid Flag used: 4