目录

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

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

你好,我是悦创。

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


1. 元字符是什么?

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

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

https://i-blog.csdnimg.cn/img_convert/121e97ef1ab976e8b2e0527fc3d339eb.png

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

先别急,我们从熟悉的场景入手。
在 Word、Excel 里,你肯定用过“查找/替换”功能。输入一个词,它就能帮你找到,甚至一键替换掉。

https://i-blog.csdnimg.cn/img_convert/51c00f99960ae6bfd96d2c67d62ef811.png

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

举个例子:

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

https://i-blog.csdnimg.cn/img_convert/7289980d874b9081f9ed686cec3ac31f.png

更神奇的是,加上量词后还能控制次数:
比如 \d{11} 表示连续的 11 个数字,也就是一个手机号。

https://i-blog.csdnimg.cn/img_convert/515113eb6f0716fdf2e393cd2d6d17d8.png

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

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


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

元字符种类很多,背死记硬背真的痛苦。
我的建议是:分类记忆。这样更有体系感,学习效率也更高。

常见分类大致有这几种:

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

https://i-blog.csdnimg.cn/img_convert/2c731bb634df0b12834d496e571ce32a.png

下面我们逐个拆解。


2.1 特殊单字符

几个常见的元字符:

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

https://i-blog.csdnimg.cn/img_convert/de246edca3c9aa224661be841a705c21.png

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

https://i-blog.csdnimg.cn/img_convert/04aa2a34adca8ce441c6d32798ca867c.png


2.2 空白符

处理文本时经常会遇到:空格、换行、制表符。
在正则里常用写法有:

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

https://i-blog.csdnimg.cn/img_convert/ab655d41ecd38eb65ab03542d66cb342.png


2.3 量词(次数限定)

只匹配一个字符太弱了。更多时候,我们需要控制“重复次数”。
量词就是干这个的:

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

https://i-blog.csdnimg.cn/img_convert/3424e76356923e21554016e872386a8b.png

举个例子:

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

在线测试:

https://i-blog.csdnimg.cn/img_convert/1a31724f75544a7bc69effb2b69a1b4f.png


2.4 范围(集合匹配)

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

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

https://i-blog.csdnimg.cn/img_convert/faa4cc0fe0144ff8c80c6758230c66ee.png

在线测试:


3. 小结

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

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

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

学习建议:

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

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

https://i-blog.csdnimg.cn/img_convert/b823df946c8ec7d861e97e32b38dc923.png


4. 思考题

来做一个练习题吧👇

📱 手机号规则:

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

请你用今天学到的元字符写一个正则,准确匹配手机号。
把答案写在评论区,一起讨论交流!


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