কম্পিউটার টিউটোরিয়াল

জাভা রেজেক্সে মেটা ক্যারেক্টারগুলোকে লিটারেল ক্যারেক্টার হিসেবে ম্যাচ করা

Pattern ক্লাসের compile মেথড দুটি প্যারামিটার গ্রহণ করে:

  • রেগুলার এক্সপ্রেশন রিপ্রেজেন্ট করার একটি স্ট্রিং মান।
  • Pattern ক্লাসের একটি ফিল্ড যেটি ইন্টিজার মান।

Pattern ক্লাসের LITERAL ফিল্ড লিটারেল পার্সিং (literal parsing) সক্ষম করে। অর্থাৎ, সকল রেগুলার এক্সপ্রেশন মেটা ক্যারেক্টার এবং এস্কেপ সিকোয়েন্স তাদের স্পেশাল মিনিং হারিয়ে ফেলে এবং সেগুলো লিটারেল ক্যারেক্টার হিসেবে বিবেচনা হয়। তাই, যদি আপনি রেজেক্স মেটা ক্যারেক্টারগুলোকে সাধারণ ক্যারেক্টার হিসেবে ম্যাচ করতে চান, তবে compile() মেথডে এই ফ্ল্যাগ ভ্যালুটি পাস করতে হবে রেগুলার এক্সপ্রেশনের সাথে।

উদাহরণ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {
    public static void main(String[] args) {
        System.out.println("Enter input data: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String regex = "^[0-9]";

        // Pattern.LITERAL ফ্ল্যাগ ব্যবহার করা
        Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while(matcher.find()) {
            count++;
            System.out.println(matcher.group());
        }
        System.out.println("Number of matches: " + count);
    }
}

আউটপুট ১

Enter input data: 9848022338
Number of matches: 0

আউটপুট ২

Enter input data: ^[0-9] ^[0-9]
Number of matches: 1
  1. জাভা রেগেক্স দিয়ে ক্যারেক্টার রেঞ্জ ম্যাচ করা

  2. জাভা রেগেক্স দিয়ে ফিক্সড সেট অফ ক্যারেক্টার ম্যাচ করা

  3. জাভাতে রেগেক্স ব্যবহার করে ডেট ফরম্যাট ভ্যালিডেট করা (MM-DD-YYYY)

  4. জাভাতে রেগেক্স ব্যবহার করে স্ট্রিং থেকে HTML ট্যাগ এক্সট্র্যাক্ট করা