在Java中,使用java.util.regex
包處理多行匹配時,需要使用Pattern.MULTILINE
標志。這個標志會讓正則表達式引擎將輸入字符串視為多行,使得^
和$
分別匹配每一行的開始和結束,而不是整個字符串的開始和結束。
下面是一個簡單的例子,展示了如何使用Pattern.MULTILINE
標志進行多行匹配:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MultilineRegexExample {
public static void main(String[] args) {
String input = "Line 1\nLine 2\nLine 3";
String regex = "^Line \\d+"; // 匹配以"Line"開頭,后面跟著一個或多個數字的行
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Matched line: " + matcher.group());
}
}
}
在這個例子中,我們使用了正則表達式^Line \\d+
來匹配以"Line"開頭,后面跟著一個或多個數字的行。Pattern.MULTILINE
標志確保^
和$
分別匹配每一行的開始和結束。運行這個程序,你將看到以下輸出:
Matched line: Line 1
Matched line: Line 2
Matched line: Line 3
這表明正則表達式成功匹配了多行字符串中的每一行。