学习 Java 中的正则表达式(Regex)可以分为基础语法 → Java 特有用法 → 实战练习三个阶段。下面给你一个清晰、可操作的学习路线。
Java 用的是标准正则语法,先理解这些:
abc 匹配 abc
. 任意字符(除换行)
\d 数字 [0-9]
\w 字母数字下划线
\s 空白符
* 0 次或多次
+ 1 次或多次
? 0 次或 1 次
{n} n 次
{n,} 至少 n 次
[abc] a 或 b 或 c
[^0-9] 非数字
[a-z] 小写字母
^ 开头
$ 结尾
\b 单词边界
(abc) 分组
a|b a 或 b
✅ 推荐先在这里练习:
https://regex101.com (选 Java 风格)
Java 正则主要在 java.util.regex 包中。
Pattern // 编译正则
Matcher // 匹配器
PatternSyntaxException // 语法错误
import java.util.regex.*;
public class Demo {
public static void main(String[] args) {
String text = "age: 25";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(text);
while (m.find()) {
System.out.println(m.group());
}
}
}
m.matches() // 整个字符串是否匹配
m.find() // 找下一个匹配
m.group() // 匹配内容
m.group(1) // 第一个分组
m.replaceAll() // 替换
"abc123".matches("\\w+\\d+");
"a,b,c".split(",");
"hello".replaceAll("l", "L");
\\d // 不是 \d
.* 贪婪
.*? 懒惰
private static final Pattern P = Pattern.compile("\\d+");
Pattern + Matcher 写解析逻辑1[3-9]\\d{9}如果你愿意,我可以:
你现在是「完全新手」还是「会一点但用不熟」?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。