互动课程
正则表达式课程
使用直接在浏览器中运行每个模式并实时显示匹配项的引擎,从头开始学习英语正则表达式。
01 · 第 1 单元 — 基础知识
4 节课
正则表达式的基础:文字模式、基本字符类、“.”通配符和转义元字符。
02 · 第 2 单元 — 量词
4 节课
重复多少:`*`、`+`、`?`、间隔`{n,m}`以及贪婪和懒惰之间的区别。
03 · 第 3 单元 — 锚点和边界
4 节课
位置,而不是字符:锚定到字符串的开头/结尾、单词边界以及带有“m”标志的每行的开头/结尾。
04 · 模块 4 — 分组和交替
4 节课
使用“()”进行分组,使用“|”在替代方案中进行选择,使用“(?:...)”避免捕获,使用“(?<name>...)”命名组,并使用反向引用引用先前的捕获。
05 · 模块 5 — 字符类
4 节课
使用“[...]”定义自定义集,使用范围,使用“[^...]”求反,并使用“\p{...}”和“u”标志访问 Unicode 属性。
06 · 模块 6 — 环顾四周
4 节课
零宽度断言:在字符串中向前或向后查找而不消耗字符。前瞻`(?=)``(?!)`,后瞻`(?<=)``(?<!)`。
07 · 模块 7 — 标志、替换、拆分
4 节课
所有标志(包括 `d`、`v`)、`String.prototype.replace`/`replaceAll`/`split` 都带有正则表达式,在替换字符串中引用 `$1`/`$<name>` 并替换回调。
08 · 第 8 单元 — 练习
4 节课
将所有这些放在一起解决实际问题:验证电子邮件、解析日志、提取 URL/IP、编写抗 ReDoS 模式。