मल्टीलाइन मोड को सक्षम करता है।
सामान्य तौर पर, ^ और $ मेटा कैरेक्टर निर्दिष्ट वर्णों के साथ दिए गए इनपुट की शुरुआत और अंत से मिलान करते हैं, चाहे इसमें लाइनों की संख्या कुछ भी हो।
उदाहरण 1 (बिना MULTILINE फ्लैग)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MULTILINE_Example {
public static void main(String args[]) {
String input = "2234 This is a sample text\n"
+ "1424 This second 2335 line\n"
+ "This id third 455 line\n"
+ "Welcome to Tutorialspoint\n";
Pattern pattern = Pattern.compile("^([0-9]+).*"); //, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
while(matcher.find()) {
System.out.println(matcher.group(1));
}
}
}
आउटपुट
2234
जब आप इसे compile() मेथड के फ्लैग मान के रूप में उपयोग करते हैं, तो संपूर्ण इनपुट अनुक्रम को एक लाइन के रूप में माना जाएगा और मेटा कैरेक्टर ^ और $ दिए गए इनपुट अनुक्रम की शुरुआत और अंत से मिलान करेंगे।
उदाहरण 2 (MULTILINE फ्लैग के साथ)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MULTILINE_Example {
public static void main(String args[]) {
String input = "2234 This is a sample text\n"
+ "1424 This second 2335 line\n"
+ "This id third 455 line\n"
+ "Welcome to Tutorialspoint\n";
Pattern pattern = Pattern.compile("^([0-9]+).*", Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
while(matcher.find()) {
System.out.println(matcher.group(1));
}
}
}
आउटपुट
2234 1424
नोट: MULTILINE मोड में ^ और $ प्रत्येक लाइन की शुरुआत और अंत से मिलान करते हैं, न कि पूरे इनपुट की।