একটি রেগুলার এক্সপ্রেশন হল অক্ষরগুলির একটি বিশেষ ক্রম যা আপনাকে প্যাটার্নে রাখা একটি বিশেষ সিনট্যাক্স ব্যবহার করে অন্য স্ট্রিং বা স্ট্রিংগুলির সেটগুলিকে মেলাতে বা খুঁজে পেতে সহায়তা করে। এগুলি পাঠ্য এবং ডেটা অনুসন্ধান, সম্পাদনা বা ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে। জাভা রেগুলার এক্সপ্রেশনের সাথে প্যাটার্ন মেলানোর জন্য java.util.regex প্যাকেজ প্রদান করে।
ম্যাচার ক্লাস
একটি ম্যাচার অবজেক্ট হল ইঞ্জিন যা প্যাটার্ন ব্যাখ্যা করে এবং একটি ইনপুট স্ট্রিং এর বিরুদ্ধে ম্যাচ অপারেশন করে। প্যাটার্ন ক্লাসের মতো, ম্যাচার কোনো পাবলিক কনস্ট্রাক্টরকে সংজ্ঞায়িত করে না। আপনি matcher() আহ্বান করে একটি ম্যাচার অবজেক্ট পাবেন একটি প্যাটার্ন বস্তুর উপর পদ্ধতি।
এই ক্লাসের দৃষ্টান্তগুলি একাধিক সমবর্তী থ্রেড দ্বারা ব্যবহারের জন্য নিরাপদ নয়৷
উদাহরণ
নিম্নলিখিত জাভা প্রোগ্রাম ব্যবহারকারীর কাছ থেকে 5টি স্ট্রিং গ্রহণ করে এবং একটি অঙ্ক দিয়ে শুরু করে স্ট্রিংগুলিকে প্রিন্ট করে৷
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StartingwithDigit { public static void main( String args[] ) { String regex = "^[0-9].*$"; Scanner sc = new Scanner(System.in); System.out.println("Enter 5 input strings: "); String input[] = new String[5]; for (int i=0; i<5; i++) { input[i] = sc.nextLine(); } //Creating a Pattern object Pattern p = Pattern.compile(regex); System.out.println("Strings starting with digits: "); for(int i=0; i<5;i++) { //Creating a Matcher object Matcher m = p.matcher(input[i]); if(m.matches()) { System.out.println(m.group()); } } } }
আউটপুট
Enter 5 input strings: sample string 1 sample string 2 11 sample string 3 22 sample string 4 43534 56353 636 Strings starting with digits: 11 sample string 3 22 sample string 4 43534 56353 636