正则表达式是Java中处理文本匹配和提取的强大工具。本文将详细讲解如何使用Java正则表达式提取指定文本内容,包含基础语法、核心类和实际应用示例。
正则表达式通过特定模式匹配字符串,常用元字符包括:
. - 匹配任意字符(除换行符)\d - 匹配数字[a-z] - 匹配小写字母* - 匹配0次或多次+ - 匹配1次或多次() - 定义捕获组Java通过java.util.regex包提供正则支持:
String text = "联系邮箱:admin@example.com, 备用邮箱:support@test.org";
Pattern pattern = Pattern.compile("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("找到邮箱: " + matcher.group());
}
String html = "姓名:张三年龄:25";
Pattern pattern = Pattern.compile("姓名:(.*?)String text = "联系电话:13800138000, 备用:13912345678";
Pattern pattern = Pattern.compile("1[3-9]\\d{9}");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("手机号: " + matcher.group());
}
Pattern.compile()预编译正则表达式提高性能()精确定位需要提取的内容\.匹配实际点号)问题:匹配不到预期内容?
解决方案:
Matcher.find()而非matches()进行部分匹配Pattern.DOTALL标志使.匹配包括换行符的所有字符通过掌握这些技巧,您将能够高效使用Java正则表达式提取各种文本内容,大幅提升文本处理效率。