Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java का उपयोग करके एक इनपुट के विरुद्ध एकाधिक रेगुलर एक्सप्रेशन पैटर्न की जांच कैसे करें


"|" मेटा कैरेक्टर: Java नियमित अभिव्यक्तियों में मेटा कैरेक्टर "|" आपको एक से अधिक नियमित अभिव्यक्तियों से मिलान करने की अनुमति देता है। उदाहरण के लिए, यदि आपको किसी विशेष इनपुट टेक्स्ट का एक से अधिक अभिव्यक्तियों के साथ मिलान करने की आवश्यकता है, तो आपको उन्हें इसके उपयोग से अलग करना होगा:

exp1|exp2|exp3

उदाहरण

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

public class SampleExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your input: ");
        String input = sc.nextLine();
        // नियमित अभिव्यक्ति
        String regex = "\\d{10}|^[aeiou]";
        // पैटर्न ऑब्जेक्ट बनाना
        Pattern pattern = Pattern.compile(regex);
        // मिलानकर्ता ऑब्जेक्ट बनाना
        Matcher matcher = pattern.matcher(input);
        if (matcher.find()) {
            System.out.println(input + " is valid");
        } else {
            System.out.println(input + " is not valid");
        }
    }
}

आउटपुट 1

Enter your input: 9848033228
9848033228 is valid

आउटपुट 2

Enter your input: an apple a day keeps doctor away
an apple a day keeps doctor away is valid

List ऑब्जेक्ट का उपयोग करना

एक अन्य समाधान यह है कि आप सभी नियमित अभिव्यक्तियों को अलग-अलग Pattern ऑब्जेक्ट्स का उपयोग करके संकलित करें और उन्हें एक सूची ऑब्जेक्ट में जोड़ें और इनपुट टेक्स्ट पर मिलान खोजें:

List list = new ArrayList<>();
list.add(Pattern.compile(regex1));
list.add(Pattern.compile(regex2));
for (Pattern pattern : list) {
    Matcher matcher = pattern.matcher(input);
    if (matcher.find()) {
        // ...
    } else {
        // ...
    }
}

उदाहरण

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

public class MultipleRegex {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your input: ");
        String input = sc.nextLine();
        // नियमित अभिव्यक्तियाँ
        String regex1 = "\\d{10}";
        String regex2 = "^[aeiou]";
        // पैटर्न ऑब्जेक्ट्स बनाना
        Pattern pattern1 = Pattern.compile(regex1);
        Pattern pattern2 = Pattern.compile(regex2);
        // List ऑब्जेक्ट बनाना
        List patterns = new ArrayList<>();
        patterns.add(pattern1);
        patterns.add(pattern2);
        for (Pattern pattern : patterns) {
            Matcher matcher = pattern.matcher(input);
            if (matcher.find()) {
                System.out.println("For regex " + pattern.pattern() + " " + input + " is valid");
            } else {
                System.out.println("For regex " + pattern.pattern() + " " + input + " is not valid");
            }
        }
    }
}

आउटपुट 1

Enter your input: 9848033228
For regex \d{10} 9848033228 is valid
For regex ^[aeiou] 9848033228 is not valid

आउटपुट 2

Enter your input: an apple a day keeps doctor away
For regex \d{10} an apple a day keeps doctor away is not valid
For regex ^[aeiou] an apple a day keeps doctor away is valid

  1. - Java RegEx का उपयोग करके कैरेक्टर के निश्चित सेट से मिलान करना

    कैरेक्टर क्लास आपको कैरेक्टर के एक निश्चित सेट से एक सिंगल कैरेक्टर स्वीकार करने की अनुमति देते हैं। उदाहरण के लिए, एक्सप्रेशन “[tmp]” कैरेक्टर t या, m या, p से मिलान करता है। एक्सप्रेशन “[^tp]” t या, p के अलावा कैरेक्टर से मिलान करता है। उदाहरण 1 import java.util.Scanner;

  1. - Java में रेगुलर एक्सप्रेशन का उपयोग करके MM-DD-YYYY जैसे डेट फॉर्मेट को कैसे वैलिडेट करें?

    Java का java.util.regex पैकेज कैरेक्टर सीक्वेंस में विशेष पैटर्न खोजने के लिए विभिन्न क्लासेज़ प्रदान करता है। इस पैकेज का Pattern क्लास एक रेगुलर एक्सप्रेशन का कंपाइल्ड रिप्रेजेंटेशन है। किसी रेगुलर एक्सप्रेशन को स्ट्रिंग के साथ मैच करने के लिए यह क्लास दो मेथड्स प्रदान करती है: compile() - यह व

  1. - Java में रेगुलर एक्सप्रेशन का उपयोग करके स्ट्रिंग से HTML टैग कैसे निकालें?

    Java का java.util.regex पैकेज कैरेक्टर सीक्वेंस में विशेष पैटर्न खोजने के लिए विभिन्न क्लासेज़ प्रदान करता है। इस पैकेज का Pattern क्लास एक रेगुलर एक्सप्रेशन का कंपाइल्ड रिप्रेजेंटेशन है। किसी रेगुलर एक्सप्रेशन को स्ट्रिंग के साथ मैच करने के लिए यह क्लास दो मेथड्स प्रदान करती है: compile() - यह व