एकाधिक पंक्तियों वाले इनपुट डेटा से मिलान/खोज करने के लिए:
- इनपुट स्ट्रिंग प्राप्त करें।
- इसे "\r?\n" को split विधि के पैरामीटर के रूप में पास करके टोकन की सरणी में विभाजित करें।
- Pattern क्लास के compile() विधि का उपयोग करके आवश्यक नियमित अभिव्यक्ति संकलित करें।
- matcher() विधि का उपयोग करके मिलानकर्ता ऑब्जेक्ट प्राप्त करें।
- for लूप में find() विधि का उपयोग करके सरणी के प्रत्येक तत्व (नई पंक्ति) में मिलान खोजें।
- reset() विधि का उपयोग करके मिलानकर्ता के इनपुट को सरणी के अगले तत्व पर रीसेट करें।
उदाहरण
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingText {
public static void main(String[] args) {
String input = "sample text line 1 \n line2 353 35 63 \n line 3 53 35";
String regex = "\\d";
String[] strArray = input.split("\r?\n");
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// स्ट्रिंग में संकलित पैटर्न का मिलान
Matcher matcher = pattern.matcher(input);
for (int i = 0; i < strArray.length; i++) {
matcher.reset(strArray[i]);
System.out.println("Line:: " + (i + 1));
while (matcher.find()) {
System.out.print(matcher.group() + " ");
}
System.out.println();
}
}
}
आउटपुट
Line:: 1 1 Line:: 2 2 3 5 3 3 5 6 3 Line:: 3 3 5 3 3 5