正则表达式教程

本教程是正则表达式(Regular Expression,简称 regex 或 regexp)的完整 11 篇入门系列,从基础元字符一路讲到分组捕获、零宽断言、标志位与实战模式,每一篇都配有可在浏览器控制台或 Node 里直接运行的代码示例。

正则表达式是一种描述"字符串模式"的微型语言,1956 年由数学家 Stephen Kleene 在论文里首次提出,1968 年由 Unix 之父之一 Ken Thompson 实现到 qed 编辑器。今天几乎每门语言都内置:JavaScript、Python、Java、Go、PHP、Rust、Perl。它是表单校验、日志清洗、爬虫提取、文本搜索的核心工具——看上去像乱码,实则逻辑严谨,学会一套走遍天下。

先看一个正则

下面是三个最简单的正则示例,先感受一下它的样子:

// JavaScript 里最简单的正则
const re = /hello/;
re.test("hello world");        // true
"hello world".match(re);       // ["hello"]

// 加几个元字符就能匹配一"类"字符串
/\d+/.test("订单号 12345");    // true (\d+ 表示一串数字)
/[a-z]+/i.test("Hello");       // true (不分大小写)
/^https?:\/\//.test("https://a.com");  // true (http 或 https 开头)

全部 11 篇子教程

建议按顺序学习,每天 1~2 篇,一周即可入门并独立写常用模式。

  1. 正则表达式简介 — 历史、原理与应用场景
  2. 基础语法与元字符 — 14 个特殊字符、转义规则
  3. 字符类 — 自定义集合、范围、预定义类
  4. 量词 — 星号 加号 问号 大括号
  5. 锚点与单词边界 — 开头 结尾 位置匹配
  6. 分组与捕获 — 圆括号、命名组、反向引用
  7. 选择分支 — 竖线或运算与优先级
  8. 零宽断言(环视) — 先行、后行、正负断言
  9. 标志位 — 全局、忽略大小写、多行、Unicode
  10. 常用正则模式 — 邮箱、手机号、URL、身份证
  11. 工具与学习资源 — regex101、regexr、推荐书

推荐学习路径

如果你完全零基础,建议按下面 4 个阶段推进:

每篇都建议边读边敲:把示例代码复制到浏览器控制台或 Node REPL,改一改、跑一跑。正则是"两周不用就忘"的技能,但熟练后能省下大量字符串处理代码。

开始学习

准备好了吗?从第一篇开始 → 正则表达式简介

✈️💬