Character Classes এর জন্য Practical উদাহরণ

Character Classes এবং POSIX Character Classes - জাভা রেজেক্স (Java Regex) - Java Technologies

314

Character Classes হল Regular Expressions (Regex) এর অংশ, যা নির্দিষ্ট চরিত্র বা চরিত্রের গ্রুপ চিহ্নিত করতে ব্যবহৃত হয়। Java-তে java.util.regex প্যাকেজের মাধ্যমে আপনি এই রেগুলার এক্সপ্রেশন এবং Character Classes ব্যবহার করে টেক্সট ম্যানিপুলেট এবং মাচিং করতে পারেন।

Character Classes দিয়ে আপনি সাধারণত:

  • ডিজিট (digits)
  • অক্ষর (letters)
  • স্পেস (whitespaces)
  • পংক্তির শুরু বা শেষ (start or end of line) ইত্যাদি চিহ্নিত করতে পারেন।

Java Character Classes

কিছু সাধারণ Character Classes:

  • \\d: যেকোনো ডিজিট (0-9)
  • \\D: যেকোনো ডিজিট নয়
  • \\w: যেকোনো শব্দ অক্ষর (অক্ষর, ডিজিট, আন্ডারস্কোর)
  • \\W: যেকোনো শব্দ অক্ষর নয়
  • \\s: স্পেস বা হোয়াইটস্পেস (স্পেস, ট্যাব, নতুন লাইনের মতো)
  • \\S: স্পেস নয়
  • \\b: শব্দ সীমানা (word boundary)

Practical Example of Character Classes in Java:

এখানে আমরা Character Classes ব্যবহার করে বিভিন্ন টাস্ক যেমন ডিজিট চেক করা, শব্দ তৈরি করা, স্পেস চেক করা ইত্যাদি দেখব।

Example 1: Match a Digit Using \\d

এই উদাহরণে আমরা চেক করব যে কোনো স্ট্রিংয়ের মধ্যে একটি ডিজিট উপস্থিত আছে কিনা।

import java.util.regex.*;

public class CharacterClassExample {
    public static void main(String[] args) {
        String input = "The number is 1234";

        // Regex to match any digit
        String regex = "\\d";

        // Create a pattern and matcher
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // Check if there's a digit in the input string
        while (matcher.find()) {
            System.out.println("Found a digit: " + matcher.group());
        }
    }
}

আউটপুট:

Found a digit: 1
Found a digit: 2
Found a digit: 3
Found a digit: 4

কোড বিশ্লেষণ:

  • \\d ব্যবহার করে, আমরা ইনপুট স্ট্রিংয়ের মধ্যে থাকা ডিজিটগুলো চেক করেছি।
  • matcher.find() প্রতিটি ডিজিটকে মেচ করে এবং সেগুলি প্রিন্ট করে।

Example 2: Match Non-Digits Using \\D

এখানে আমরা এমন সব ক্যারেক্টার মাচ করব যেগুলো ডিজিট নয়।

import java.util.regex.*;

public class NonDigitExample {
    public static void main(String[] args) {
        String input = "The number is 1234";

        // Regex to match any non-digit character
        String regex = "\\D";

        // Create a pattern and matcher
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // Check if there are non-digit characters in the input string
        while (matcher.find()) {
            System.out.println("Found non-digit: " + matcher.group());
        }
    }
}

আউটপুট:

Found non-digit: T
Found non-digit: h
Found non-digit: e
Found non-digit:  
Found non-digit: n
Found non-digit: u
Found non-digit: m
Found non-digit: b
Found non-digit: e
Found non-digit: r
Found non-digit:  
Found non-digit: i
Found non-digit: s
Found non-digit:  

কোড বিশ্লেষণ:

  • \\D রেগুলার এক্সপ্রেশনটি ডিজিট ছাড়া সব কিছু মাচ করে।
  • এখানে "1234" এর বাইরে থাকা সব অক্ষরগুলির জন্য মাচিং হয়েছে।

Example 3: Match Word Characters Using \\w

এখানে আমরা এমন সব অক্ষর মাচ করব যেগুলি word characters (অক্ষর, ডিজিট, আন্ডারস্কোর)।

import java.util.regex.*;

public class WordCharacterExample {
    public static void main(String[] args) {
        String input = "Hello_123 World!";

        // Regex to match word characters
        String regex = "\\w";

        // Create a pattern and matcher
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // Check if there are word characters in the input string
        while (matcher.find()) {
            System.out.println("Found word character: " + matcher.group());
        }
    }
}

আউটপুট:

Found word character: H
Found word character: e
Found word character: l
Found word character: l
Found word character: o
Found word character: _
Found word character: 1
Found word character: 2
Found word character: 3
Found word character: W
Found word character: o
Found word character: r
Found word character: l
Found word character: d

কোড বিশ্লেষণ:

  • \\w রেগুলার এক্সপ্রেশনটি স্ট্রিংয়ের মধ্যে থাকা সব word characters (অক্ষর, ডিজিট, আন্ডারস্কোর) মাচ করেছে।

Example 4: Match Whitespace Using \\s

এখানে আমরা এমন সব স্পেস বা হোয়াইটস্পেস চেক করব, যেমন স্পেস, ট্যাব, অথবা নতুন লাইন।

import java.util.regex.*;

public class WhitespaceExample {
    public static void main(String[] args) {
        String input = "Hello  world \tnew line";

        // Regex to match whitespace characters
        String regex = "\\s";

        // Create a pattern and matcher
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // Check if there are whitespace characters in the input string
        while (matcher.find()) {
            System.out.println("Found whitespace character: " + matcher.group());
        }
    }
}

আউটপুট:

Found whitespace character:  
Found whitespace character:  
Found whitespace character: 	

কোড বিশ্লেষণ:

  • \\s রেগুলার এক্সপ্রেশনটি ইনপুট স্ট্রিংয়ের মধ্যে থাকা সব ধরনের স্পেস বা হোয়াইটস্পেস মাচ করেছে। যেমন, " " (স্পেস) এবং \t (ট্যাব)।

Example 5: Match Non-Word Characters Using \\W

এখানে আমরা এমন সব ক্যারেক্টার মাচ করব যেগুলি word characters নয় (অর্থাৎ স্পেস, পাঙ্কচুয়েশন, অথবা অন্য কোনো বিশেষ চিহ্ন)।

import java.util.regex.*;

public class NonWordCharacterExample {
    public static void main(String[] args) {
        String input = "Hello, World!";

        // Regex to match non-word characters
        String regex = "\\W";

        // Create a pattern and matcher
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // Check if there are non-word characters in the input string
        while (matcher.find()) {
            System.out.println("Found non-word character: " + matcher.group());
        }
    }
}

আউটপুট:

Found non-word character: ,
Found non-word character:  
Found non-word character: !

কোড বিশ্লেষণ:

  • \\W রেগুলার এক্সপ্রেশনটি ইনপুট স্ট্রিংয়ের মধ্যে থাকা সব non-word characters (যেমন, কমা এবং উদ্ধৃতি চিহ্ন) মাচ করেছে।

  • Character Classes (যেমন \\d, \\D, \\w, \\W, \\s, \\S) Java Regular Expressions এ স্ট্রিংয়ের মধ্যে নির্দিষ্ট ধরনের চরিত্র মাচ করার জন্য ব্যবহৃত হয়।
  • Practical Examples এর মাধ্যমে আমরা শিখলাম কিভাবে ডিজিট, শব্দ অক্ষর, হোয়াইটস্পেস এবং non-word characters মাচ করা যায়।
  • Java java.util.regex প্যাকেজে Pattern এবং Matcher ক্লাস ব্যবহার করে আপনি এই রেগুলার এক্সপ্রেশনগুলির মাধ্যমে স্ট্রিং প্রক্রিয়াগুলিকে আরও শক্তিশালী ও কার্যকরীভাবে পরিচালনা করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...