01-元字符:如何巧妙记忆正则表达式的基本元件?

你好,我是悦创。

今天正式开启我们的正则表达式课程。第一讲,我们要从"正则的基石"------元字符讲起。别小看它,所有复杂的正则技巧,最终都是从这些小符号组合起来的。


1. 元字符是什么?

在开篇词里我提到过,正则表达式常见的三大用途:

  • 检查数据是否符合规则(比如邮箱、手机号校验);
  • 查找符合要求的文本;
  • 对文本进行分割、替换。

你可能会想:正则是怎么做到这些操作的呢?

先别急,我们从熟悉的场景入手。

在 Word、Excel 里,你肯定用过"查找/替换"功能。输入一个词,它就能帮你找到,甚至一键替换掉。

这和正则的思想很像。但不同的是:正则不只是找具体的文字,还能找"符合某种规律的内容"。

举个例子:

  • 如果你想在文档里找所有数字,不会正则时,可能要一个个输入 0、1、2...9 去搜,很麻烦。
  • 用正则,只要一个 \d,就能搞定!\d 就代表 0-9 的任意一个数字。

更神奇的是,加上量词后还能控制次数:

比如 \d{11} 表示连续的 11 个数字,也就是一个手机号。

这就是正则的魅力所在:靠一些特殊符号(元字符),就能描述复杂的文本规则。

👉 所以,元字符就是正则的"字母表",是所有规则的基本单位。


2. 元字符怎么分类记忆?

元字符种类很多,背死记硬背真的痛苦。

我的建议是:分类记忆。这样更有体系感,学习效率也更高。

常见分类大致有这几种:

  1. 特殊单字符
  2. 空白符
  3. 量词(次数相关)
  4. 范围(多选一 / 限定)
  5. 断言(边界判断,后面章节会讲)

下面我们逐个拆解。


2.1 特殊单字符

几个常见的元字符:

  • . :任意单个字符(除了换行)
  • \d :任意数字 0-9
  • \w :字母、数字或下划线
  • \s :任意空白符(空格、换行、Tab)
  • 反义形式:\D(非数字)、\W(非字母数字下划线)、\S(非空白)

测试一下:
\d 只能匹配数字 → 在线测试链接
\w 匹配字母数字下划线 → 在线测试链接


2.2 空白符

处理文本时经常会遇到:空格、换行、制表符。

在正则里常用写法有:

  • \n → 换行符
  • \t → Tab 制表符
  • \r → 回车(Windows 的换行是 \r\n,Linux/Mac 只有 \n
  • \s → 匹配任意单个空白符(最常用!)

2.3 量词(次数限定)

只匹配一个字符太弱了。更多时候,我们需要控制"重复次数"。

量词就是干这个的:

  • * :0 次或多次
  • + :1 次或多次
  • ? :0 次或 1 次
  • {m,n} :m 到 n 次

举个例子:

  • colou?r → 能同时匹配 colorcolour
  • \d+ → 至少一个数字
  • \d* → 可能没有,也可能有多个数字

在线测试:https://regex101.com/r/PnzZ4k/8


2.4 范围(集合匹配)

当我们需要"在某一类字符里任选"时,就用范围。

  • [] :中括号内多选一
    • [aeiou] → 任意元音字母
    • [a-z] → 任意小写字母
    • [^0-9] → 不是数字
  • | :或运算
    • ab|bc → 匹配 abbc
  • 组合:
    • (https?|ftp):// → 匹配 http://https://ftp://

在线测试:https://regex101.com/r/PnzZ4k/5


3. 小结

今天我们认识了正则的"字母表"------元字符。内容包括:

  • 特殊单字符(\d\w. 等)
  • 空白符(\s\n\t 等)
  • 量词(*+?{m,n}
  • 范围([]|[^ ] 等)

这些是正则的入门必修课,掌握它们之后,你就能写出很多实用的正则了。

学习建议:

  1. 多练习!光看不敲,记不住。
  2. 把学到的知识讲给别人,这是最好的自测方法。

最后附一张总结思维导图,方便复习:


4. 思考题

来做一个练习题吧👇

📱 手机号规则:

  1. 第 1 位固定为 1
  2. 第 2 位为 3-9
  3. 后面 9 位为 0-9 任意数字

请你用今天学到的元字符写一个正则,准确匹配手机号。

把答案写在评论区,一起讨论交流!


今天的课程就到这里啦,希望你能真正掌握元字符,并开始体会到正则表达式的威力。🚀

相关推荐
2501_936415697 小时前
API-正则表达式&时间&包装类
正则表达式
鹤卿1233 天前
谓词与正则表达式(OC)
ios·正则表达式·objective-c·xcode
饼干哥哥7 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
饼干哥哥8 天前
Seedance TK视频「真人感」问题的 9 个解法
正则表达式·代码规范·设计
逝水无殇8 天前
C# 正则表达式详解
开发语言·后端·正则表达式·c#
木木子2213 天前
# 密码强度检测深度解析:正则表达式实时分析、多维度评分算法与可视化反馈
mysql·算法·华为·正则表达式·harmonyos
饼干哥哥13 天前
用Claude Code跑通跨境电商的5大场景,顶10个人的团队
人工智能·设计模式·正则表达式
饼干哥哥14 天前
单篇100万阅读文章,如何用AI 做好内容创作?
人工智能·正则表达式·代码规范
无足鸟ICT16 天前
【RHCA+】扩展正则表达式
linux·正则表达式
无足鸟ICT18 天前
【RHCA+】正则表达式
linux·正则表达式