Rays 中文文档 下载 App

正则表达式入门:匹配、或、与的写法

为什么要用正则

普通搜索做不到的事:

需求普通搜索正则
只搜精确等于"原神"的标签搜"原神"会出来包含"原神截图""原神二创"的所有图^原神$ 只匹配完全等于"原神"
搜 "原神" 或 "崩坏" 任意一个做不到`原神\崩坏`
搜同时有 "原神" 且 "派蒙" 的图搜"原神 派蒙"会出来包含两个词的图,但不是强制都有.*原神.* .*派蒙.*
排除含"广告"的结果做不到配合其他规则

正则不是必需的——90% 的时候普通搜索就够了。但剩下 10% 的场景,正则是唯一解法。

Rays 支持的正则语法

Rays 的正则遵循标准正则表达式规则(具体以设备上的实现为准)。常用的只有几种:

匹配任意字符:.*

.* 表示"匹配任意数量的任意字符"——相当于"不管前后有什么"。

正则含义匹配示例
.*原神.*包含"原神"的任何内容原神、原神截图、我喜欢原神、genshin原神
原神等同于 .*原神.*(包含匹配)和上面效果一样

整词锚定:^ 和 $

正则含义匹配不匹配
^原神$完全等于"原神"原神原神截图、我喜欢原神
^原神以"原神"开头原神、原神截图我喜欢原神
原神$以"原神"结尾原神、我喜欢原神原神截图

OR(或):|

用竖线 | 表示"或"的关系。

正则含义匹配
`原神\崩坏`包含"原神"或"崩坏"任意一个原神、崩坏、原神和崩坏、我喜欢崩坏
`^原神$\^崩坏$`完全等于"原神"或完全等于"崩坏"原神、崩坏

AND(与):空格、Tab、换行

在 Rays 里,空格(或 Tab、换行)表示 AND 逻辑——同时包含多个关键词。

正则含义匹配
原神 派蒙同时包含"原神"和"派蒙"原神派蒙、派蒙在原神里、原神里的派蒙
^原神$ 派蒙标签完全等于"原神"且包含"派蒙"(结合搜索域使用)

注意:多个连续空格只算一个空格——输入 原神 派蒙 和 原神 派蒙 效果一样。

AND 在非正则模式下也能用

即使不开正则,Rays 里多个关键词用空格分隔也表示 AND。这是 Rays 对普通搜索的一个增强:

模式搜索词效果
普通搜索(正则关)原神 派蒙同时包含原神和派蒙的图
正则搜索(正则开).*原神.* .*派蒙.*同上(更显式的写法)

入门练习

假设你的表情库有以下标签:原神、原神截图、崩坏、派蒙、派蒙懵逼、抽象

你想搜正则开关搜索词结果
包含"原神"的关原神原神、原神截图
标签完全是"原神"开^原神$原神
原神 或 崩坏关原神 崩坏(AND)无(因为没有标签同时包含两者)
原神 或 崩坏(任一)开原神\崩坏原神、原神截图、崩坏
同时包含派蒙和懵逼关派蒙 懵逼派蒙懵逼
派蒙 或 派蒙懵逼开派蒙\派蒙懵逼派蒙、派蒙懵逼

一句话总结

正则入门只需要记住三个东西:

  1. .*关键词.* —— 包含这个关键词
  2. ^关键词$ —— 完全等于这个关键词
  3. 关键词1\|关键词2 —— 两个任一
  4. 关键词之间用空格 —— 同时包含两个(AND)

剩下的进阶语法(排除、分组、量词)遇到具体场景再查就行。