"|" मेटा कैरेक्टर: 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 ऑब्जेक्ट्स का उपयोग करके संकलित करें और उन्हें एक सूची ऑब्जेक्ट में जोड़ें और इनपुट टेक्स्ट पर मिलान खोजें:
Listlist = 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