缺什么补什么:别再靠复制粘贴应付正则

很多开发者写正则的流程是:打开搜索引擎,搜一个现成表达式,粘贴进代码,跑通就收工。这种做法在简单校验场景能糊弄过去,一旦遇到日志解析、数据清洗、复杂字符串抽取,就会暴露真实能力缺口:看不懂别人写的那串符号,改一个量词就全线崩盘,更别提自己从零构造一个匹配规则。这门以 Java 实现为载体的正则专题课,解决的就是这个核心问题。它不讲虚的编程史,直接从次数匹配这一最高频的语法点切入,把星号、加号、问号、花括号这些量词符号在单字符和子表达式两种场景下的行为差异掰开揉碎讲清楚。如果你每次写正则都要靠运气,或者看着一长串符号就头疼,说明你的量词基础有漏洞,这部分内容就是用来补这个洞的。

建议先看哪几块:从单字符到子表达式的递进

根据课程结构,建议的观看顺序不是跳着看,而是严格跟着量词难度走。第一优先级是把开始锚点结束符号和星号匹配这两块看完,理解边界控制如何决定匹配范围,以及星号代表的零次或多次到底意味着什么。第二优先级是加号和问号,这两个符号分别对应至少一次和可选匹配,在实际校验逻辑中出场率极高。第三优先级是花括号系列,从精确次数到区间次数,这部分最容易记混,必须结合实例源码动手跑。特别要注意课程中单字符与子表达式的分类讲解,同一个量词作用在单个字母上和作用在括号包裹的分组上,匹配结果可能完全不同,这是很多人自以为会正则却频频踩坑的重灾区,务必对照着看,不要跳过任何一种组合。

学完能做什么与资料怎么配合练习

看完这部分内容后,你应该能独立完成几项具体工作:给一段目标字符串手写出正确的次数控制规则,而不是盲目试错;读懂别人代码里复杂的量词嵌套逻辑,能准确判断匹配边界;在 Java 工程里针对手机号片段、重复单词、指定长度的数字串等场景,直接写出校验方法。配套的实例源码是这门课的核心资产,不要只用眼睛看视频,正确的练习方式是打开源码,修改输入字符串,观察匹配结果变化,用断点调试去观察正则引擎的回溯过程。建议自己造几组边界测试数据,比如空字符串、刚好满足下限的长度、超过上限的长度,拿课程里的表达式去跑一遍。如果这些边界用例都能按预期输出,说明量词这块你确实补上了,可以进入更复杂的捕获分组和贪婪非贪婪模式的学习了。

课程目录

1-1 [次数匹配] 开始符号^结束符号$匹配 (19:19)
1-2 [次数匹配] *号匹配:单个字符 (08:01)
1-3 [次数匹配] *号匹配:子表达式 (08:15)
1-4 [次数匹配] +号匹配:单个字符 (05:10)
1-5 [次数匹配] +号匹配:子表达式 (03:28)
1-6 [次数匹配] ?号匹配:单个字符 (05:32)
1-7 [次数匹配] ?号匹配:子表达式 (03:14)
1-8 [次数匹配] {n}号匹配:单个字符 (04:25)
1-9 [次数匹配] {n}号匹配:子表达式 (02:28)
1-10 [次数匹配] {n,}号匹配:单个字符 (05:47)
1-11 [次数匹配] {n,}号匹配:子表达式 (02:37)
1-12 [次数匹配] {n,m}号匹配:单个字符 (04:00)
1-13 [次数匹配] {n,m}号匹配:子表达式 (02:29)
1-14 [次数匹配] 非贪心:单个字符 (07:44)
1-15 [次数匹配] 非贪心:子表达式 (04:15)
2-1 [单个字符串匹配] .号匹配:匹配任何字符串除了\n (08:17)
2-2 [单个字符串匹配] |:只匹配一个字符串即可 (04:55)
2-3 [单个字符串匹配] [ ]:只匹配一个字符即可 (05:27)
2-4 [单个字符串匹配] [^ ]:不匹配中括号中任何字符 (04:04)
2-5 [单个字符串匹配] [- ]:匹配中括号中字符范围 (04:38)
2-6 [单个字符串匹配] [^- ]:不匹配中括号中字符范围 (03:31)
2-7 [单个字符串匹配] \b:匹配边界字符 (06:45)
2-8 [单个字符串匹配] \B:匹配不边界字符 (02:42)
2-9 [单个字符串匹配] \d:匹配数字 (04:10)
2-10 [单个字符串匹配] \D:不匹配数字 (02:13)
2-11 [单个字符串匹配] \s:空白字符 (03:55)
2-12 [单个字符串匹配] \S:匹配非空白字符 (01:51)
2-13 [单个字符串匹配] \w:匹配字母、数字、下划线 (03:06)
2-14 [单个字符串匹配] \W:不匹配字母、数字、下划线 (03:01)
2-15 [单个字符串匹配] 特殊字符匹配 (06:41)
3-1 [捕捉子表达式] 不加括号不捕捉表达式 (08:49)
3-2 [捕捉子表达式] 加括号捕捉表达式 (02:42)
3-3 [捕捉子表达式] 括号中再加括号捕捉子表达式 (04:22)
3-4 [捕捉子表达式] ?: 不捕捉它修饰的表达式 (06:55)
3-5 [捕捉子表达式] 匹配的字符逐个替换为大写 (08:39)