在Java中,要使用正则表达式匹配多行文本,需要使用Pattern.MULTILINE标志。这个标志会影响到^和$锚点的行为,使它们分别匹配每一行的开头和结尾,而不仅仅是整个输入字符串的开头和结尾。
下面是一个简单的例子,演示如何使用Java正则表达式匹配多行文本中的每一行:
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";
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Found: " + matcher.group());
}
}
}
在这个例子中,我们使用了正则表达式^Line \\d来匹配以"Line"开头,后面跟着一个数字的每一行。Pattern.compile()方法的第二个参数传入了Pattern.MULTILINE标志,使得^能够匹配每一行的开头。运行这个程序,你会看到如下输出:
Found: Line 1
Found: Line 2
Found: Line 3
这表明正则表达式成功地匹配了多行文本中的每一行。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。