Skip to content

📖 正则入门(新手) ​

本页给完全没写过正则的人。目标不是让你成为正则专家,而是让你能看懂、能改、能验证一条规则,足以应付「一批标题对不上」的情况。

读法建议

不用一次读完。先看第 1 节建立直觉,再跳到第 3 节的范例,复制一条改成你的标题,最后回来看第 4 节的测试方法。

1. 正则是什么 ​

正则(正则表达式)就是用符号描述「一类标题长什么样」。

比如你想表达「所有以『之刃』结尾的标题」,不想把十几部作品一条条列出来。用中文说就是:

开头随便什么内容,然后以「之刃」结束

用正则写就是:

regex
^.*之刃$

^ 是「开头」,.* 是「随便什么内容」,之刃 是那几个字,$ 是「结尾」。

就这么简单。 下面所有的东西,都是在学这几个符号的更多变体。

2. 六个最常用的符号 ​

先只记这六个,就够应付大多数情况了:

符号读作作用
^开头要求从这里开始匹配
$结尾要求到这里结束
.任意一个字符占一个位置,是什么都行
*零个或多个前面的东西可以重复任意次(也可以没有)
[ ]括号里任选一个如 [一二三] 表示「一或二或三」
|或者左右两边任一满足即可

反复看这三个例子 ​

例 A:标题以「之刃」结尾

regex
^.*之刃$

拆开看:^ 从头开始 → .* 中间随便 → 之刃 这几个字 → $ 到此结束。

命中:鬼灭之刃 不命中:鬼灭之刃 无限列车篇(因为 $ 要求「之刃」必须是最末尾)

例 B:标题以「之刃」开头

regex
^之刃

只要开头是「之刃」就行,后面是什么不管。注意这里没有 $。

例 C:标题里含有「鬼灭」两个字

regex
鬼灭

没有 ^ 也没有 $,所以只要任何位置出现「鬼灭」就算命中。这是最宽松的写法。

宽松 = 容易误伤

例 C 会命中所有名字里带「鬼灭」的东西,包括你不想要的衍生作、真人版。越宽松的写法,越要在第 4 节好好测试。

关于 .* 为什么总是成对出现 ​

. 表示「一个字符」,* 表示「重复任意次」。合起来 .* 就是「任意多个字符」。

所以:

  • ^.*之刃$ = 开头 → 任意内容 → 之刃 → 结尾 ✅
  • 单写 ^之刃$ = 开头 → 紧接着就是之刃 → 立刻结尾 ❌(只能匹配「之刃」这两个字本身)

记住这个模式:^.*关键词$ 表示「以关键词结尾」,^关键词.*$ 表示「以关键词开头」。

3. 照着改就能用的范例 ​

下面每条都可以直接复制,把里面的中文换成你的标题。

想要「以某词结尾」 ​

regex
^.*之刃$

想要「以某词开头」(推荐,最常用) ​

regex
^某番剧

这一条特别有用:它能一次覆盖「某番剧 第二季」「某番剧 剧场版」「某番剧 OVA」。

想要「几种叫法都算」 ​

regex
(鬼灭之刃|滅之刃|Kimetsu)

用括号和 | 把几种写法括起来,任一出现即命中。

想要「番剧名 + 第几季」,但季号写法不定 ​

regex
^某番剧\s*第[0-9一二三四五六七八九十]+季
  • \s* = 这里可以有空格,也可以没有(\s 是空白,* 是任意次)
  • [0-9一二三四五六七八九十]+ = 一个或多个数字或中文数字(+ 和 * 类似,但至少要有 1 个)

更省事的办法

与其在正则里穷举季号写法,不如把正则只写成 ^某番剧,然后使用弹窗里的 「限定季度」 字段来限定第几季。这样正则简单得多,也不容易漏。

想要「忽略大小写」(英文标题) ​

regex
(?i)^blade of demon slayer

(?i) 写在最前面,表示整个表达式不分大小写。

4. 最重要的:先测试再保存 ​

不要凭感觉写正则。 添加/编辑映射的弹窗底部有 「正则匹配测试」,输入标题立刻看到结果。

每次至少测四类:

测什么为什么
✅ 2 个应该命中的真实标题确认规则能用
❌ 2 个不该命中的相近标题确认没有误伤 —— 这步最容易被跳过,也最重要
❌ 同系列的其它季确认它们落到了你预期的地方
❌ 名字里恰好含有关键词的无关番剧宽泛规则的经典翻车点
举例:测试 ^鬼灭
  • ✅ 鬼灭之刃 —— 应该命中
  • ✅ 鬼灭之刃 柱训练篇 —— 应该命中
  • ❌ 鬼灭之刃 真人版 —— 如果不想要它,就得把规则改得更具体
  • ❌ 关于我转生变成史莱姆这档事 —— 应该不命中

5. 常见疑问 ​

中文标点要怎么写?

标题里的 ( ) · : 都是普通字符,直接照写即可。如果想「这里有没有都行」,用 . 占位。

例:标题可能是 某番剧(第一季) 也可能是 某番剧(第一季),可写成:

regex
^某番剧.第[一1]季.

每个 . 顶掉一个字符位置。

为什么我的规则写对了却没生效?

按顺序检查:

  1. 是不是前面有更宽泛的规则先命中了? 规则按列表顺序生效,第一条命中的赢。把具体的往上移。
  2. 是不是已经有一条精确映射了? 精确映射的优先级高于正则。
  3. 表达式有没有写错? 用测试面板验证;注意中文括号和英文括号不是一回事。
  4. 限定季度填了没有? 填了就只在那一季生效。
怕写错搞坏现有匹配怎么办?

先导出映射备份(「映射管理」页面有导出按钮),再动手改。出问题直接导入还原。

一条正则想匹配很多部,会不会互相干扰?

每条规则是独立的,只看「顺序」和「是否命中」。所以把具体的放前面、宽泛的放后面,就不会互相干扰。

6. 下一步 ​

  • 想了解更多正则写法与完整范例 → 正则匹配(进阶)
  • 回到基础操作说明 → 自定义映射
  • 只有几个标题对不上?其实用**「候选确认」**页面一键写入更快,不必写正则