String.contains() এবং Regex এর মাধ্যমে Text Validation

String এর সাথে Regex ব্যবহার - জাভা রেজেক্স (Java Regex) - Java Technologies

278

String.contains() এবং Regex (Regular Expressions) জাভাতে টেক্সট ভ্যালিডেশনের জন্য দুটি জনপ্রিয় পদ্ধতি। আপনি যখন কোনও স্ট্রিংয়ের মধ্যে বিশেষ শব্দ বা প্যাটার্ন খুঁজে বের করতে চান, তখন String.contains() একটি সহজ এবং সরল পদ্ধতি হতে পারে, তবে যদি আপনার বেশি জটিল টেক্সট ভ্যালিডেশন প্রয়োজন হয় (যেমন স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন বা শর্ত অনুসরণ করা), তখন Regex ব্যবহার করা অনেক বেশি কার্যকরী হতে পারে।

এখানে আমি দুটি পদ্ধতির বর্ণনা এবং উদাহরণ দিচ্ছি:

১. String.contains() মেথড:

String.contains() মেথডটি একটি নির্দিষ্ট সাবস্ট্রিং যদি স্ট্রিংয়ের মধ্যে থাকে তা যাচাই করতে ব্যবহৃত হয়। এটি একটি বুলিয়ান রিটার্ন করে: true যদি সাবস্ট্রিংটি পাওয়া যায়, false যদি না পাওয়া যায়।

String.contains() ব্যবহার করার উদাহরণ:

public class StringContainsExample {
    public static void main(String[] args) {
        String text = "The quick brown fox jumps over the lazy dog.";

        // Check if the string contains "fox"
        if (text.contains("fox")) {
            System.out.println("Text contains 'fox'.");
        } else {
            System.out.println("Text does not contain 'fox'.");
        }

        // Check if the string contains "cat"
        if (text.contains("cat")) {
            System.out.println("Text contains 'cat'.");
        } else {
            System.out.println("Text does not contain 'cat'.");
        }
    }
}

আউটপুট:

Text contains 'fox'.
Text does not contain 'cat'.

ব্যাখ্যা:

  • text.contains("fox"): এটি চেক করে যে স্ট্রিং "fox" রয়েছে কি না।
  • text.contains("cat"): এটি চেক করে যে স্ট্রিং "cat" রয়েছে কি না। যেহেতু "cat" এখানে নেই, তাই এটি false রিটার্ন করবে।

২. Regex (Regular Expressions) দিয়ে Text Validation:

Regex একটি শক্তিশালী টুল যা স্ট্রিংয়ের মধ্যে জটিল প্যাটার্ন খোঁজার জন্য ব্যবহৃত হয়। আপনি যদি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট প্যাটার্ন, ফরম্যাট বা নিয়ম চেক করতে চান, তবে Regex ব্যবহার করা উপযুক্ত।

Regex ব্যবহার করে টেক্সট ভ্যালিডেশন:

ধরা যাক, আমরা একটি ইমেইল অ্যাড্রেস যাচাই করতে চাই। একটি সঠিক ইমেইল অ্যাড্রেসের জন্য আমাদের প্যাটার্ন হতে হবে:

  • এটি একটি শব্দ, এরপর @, তারপর আরেকটি শব্দ, তারপর . এবং শেষমেশ একটি ডোমেইন নাম।

Regex ব্যবহার করে ইমেইল ভ্যালিডেশন উদাহরণ:

import java.util.regex.*;

public class RegexValidationExample {
    public static void main(String[] args) {
        String email = "user@example.com";

        // Define the regular expression for a valid email
        String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";

        // Compile the regex pattern
        Pattern pattern = Pattern.compile(emailRegex);

        // Check if the email matches the regex pattern
        Matcher matcher = pattern.matcher(email);
        if (matcher.matches()) {
            System.out.println("The email is valid.");
        } else {
            System.out.println("The email is not valid.");
        }
    }
}

আউটপুট:

The email is valid.

ব্যাখ্যা:

  • emailRegex: এটি একটি রেগুলার এক্সপ্রেশন যা একটি সাধারণ ইমেইল ফরম্যাট চেক করে।
  • Pattern.compile(emailRegex): এটি রেগুলার এক্সপ্রেশন প্যাটার্ন তৈরি করে।
  • matcher.matches(): এটি চেক করে যে ইমেইল স্ট্রিংটি রেগুলার এক্সপ্রেশনটির সাথে মিলে কিনা। যদি মিলে, তবে এটি true রিটার্ন করে এবং ইমেইলটি বৈধ হিসেবে গণ্য হয়।

Regex এর অন্যান্য পদ্ধতি:

  1. Pattern.matcher(): এটি একটি স্ট্রিং এবং রেগুলার এক্সপ্রেশন প্যাটার্ন দিয়ে একটি Matcher অবজেক্ট তৈরি করে, যার মাধ্যমে আপনি স্ট্রিংয়ের মধ্যে প্যাটার্ন খুঁজে বের করতে পারেন।
  2. Matcher.find(): এটি স্ট্রিংয়ের মধ্যে প্যাটার্ন খুঁজে বের করে।
  3. Matcher.matches(): এটি পুরো স্ট্রিংয়ের সাথে প্যাটার্ন মিলছে কিনা তা চেক করে।
  4. Matcher.group(): এটি গ্রুপগুলির মাধ্যমে রেফারেন্স প্যাটার্নের অংশ বের করতে সাহায্য করে।

এনহান্সড উদাহরণ: Phone Number Validation (Regex):

ধরা যাক, আমরা একটি ফোন নাম্বার যাচাই করতে চাই যেখানে + এর পরে country code, তারপর কিছু ডিজিট থাকতে হবে। আমরা একটি রেগুলার এক্সপ্রেশন ব্যবহার করব যা এই নিয়ম মেনে চলে।

import java.util.regex.*;

public class PhoneNumberValidation {
    public static void main(String[] args) {
        String phoneNumber = "+1-800-555-1234";

        // Define the regular expression for a valid phone number
        String phoneRegex = "^\\+\\d{1,3}-\\d{3}-\\d{3}-\\d{4}$";

        // Compile the regex pattern
        Pattern pattern = Pattern.compile(phoneRegex);

        // Check if the phone number matches the regex pattern
        Matcher matcher = pattern.matcher(phoneNumber);
        if (matcher.matches()) {
            System.out.println("The phone number is valid.");
        } else {
            System.out.println("The phone number is not valid.");
        }
    }
}

আউটপুট:

The phone number is valid.

ব্যাখ্যা:

  • ^\\+\\d{1,3}-\\d{3}-\\d{3}-\\d{4}$: এটি একটি রেগুলার এক্সপ্রেশন যা একটি ফোন নাম্বারের জন্য ভ্যালিডেশন করবে।
    • ^: স্ট্রিং শুরুতে
    • \\+: + চিহ্ন
    • \\d{1,3}: ১ থেকে ৩ ডিজিট
    • -: হাইফেন চিহ্ন
    • \\d{3}-\\d{3}-\\d{4}: তিনটি ডিজিট, একটি হাইফেন, আরও তিনটি ডিজিট, হাইফেন এবং চারটি ডিজিট
    • $: স্ট্রিংয়ের শেষ

  • String.contains() সহজভাবে কোনও স্ট্রিংয়ে একটি সাবস্ট্রিং আছে কিনা তা চেক করার জন্য ব্যবহৃত হয়। এটি কেবল সাধারণ স্ট্রিং ম্যানিপুলেশনের জন্য উপযুক্ত।
  • Regex আরও শক্তিশালী এবং নমনীয় একটি পদ্ধতি যা কমপ্লেক্স টেক্সট ভ্যালিডেশন বা প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহার করা হয়। এটি আপনাকে জটিল স্ট্রিং ভ্যালিডেশন যেমন ইমেইল, ফোন নম্বর, ইউআরএল ইত্যাদি চেক করতে সাহায্য করে।
Content added By
Promotion

Are you sure to start over?

Loading...