Rays 的正则在其他工具里能用吗
正则是通用语法
正则表达式本身是一个跨工具的标准——各种工具实现了标准正则的不同子集。你在 Rays 里学的正则规则,大部分在其他地方也能用。
各工具的正则对比
| 工具 | AND 逻辑 | OR 逻辑 | 整词锚定 | 否定 | 说明 | |
|---|---|---|---|---|---|---|
| Rays(表情搜索) | 空格分隔 | `\ | ` | ^ $ | 有限支持 | 专为表情场景做了优化 |
| VS Code 查找替换 | 无显式 AND | `\ | ` | ^ $ | (?!...) | 完整 PCRE 子集 |
| Notepad++ | 无显式 AND | `\ | ` | ^ $ | (?!...) | 标准正则 |
| grep 命令行 | 无显式 AND | `\ | ` | ^ $ | grep -v | 基础正则 |
| Google 搜索 | 空格 | OR | ""(精确匹配) | -关键词 | 不是完整正则,是搜索语法 |
Rays 独有的特性
Rays 正则和其他工具最大的不同是空格的 AND 语义:
- 在 Rays 里:
原神 派蒙= 同时包含原神 AND 派蒙 - 在 VS Code 里:
原神 派蒙= 匹配这个字符串本身(包含空格的一个固定文本)
这个 AND 空格的设计让表情搜索时的多条件组合更直觉——不用每次都写 .*原神.*.*派蒙.*,直接空格分隔就行。
表情搜索的正则特殊性
特殊性一:搜索对象是多字段的
在文本编辑器里,正则匹配的是一段文本。在 Rays 里,正则匹配的是多个搜索域的组合:
- 搜索域设为标签 + OCR → 正则会在两个字段里独立匹配,然后合并结果
- 搜索域设为仅标签 → 正则只在标签里匹配
这意味着在 Rays 里,^原神$ 的含义取决于搜索域:
- 搜索域 = 仅标签 → 标签完全等于"原神"
- 搜索域 = 标签 + OCR → 标签完全等于"原神" 或 OCR 文字完全等于"原神"
特殊性二:AND 是字段间的
在 Rays 里,原神 派蒙 表示搜索域中同时出现两个关键词。但它们可以在不同字段里:
- 标签里有"原神",OCR 文字里有"派蒙" → 匹配成功
- 标签里同时有"原神"和"派蒙" → 匹配成功
- 标签只有"原神",OCR 里没有"派蒙" → 不匹配
这种跨字段的 AND 逻辑是 Rays 特有的,文本编辑器里做不到。
跨工具练习
如果你在 Rays 里熟练了正则,到其他工具里可以这样迁移:
| Rays 写法 | 其他工具的写法 | 场景 | |
|---|---|---|---|
| `原神\ | 崩坏` | 一样 | OR 逻辑 |
^原神$ | 一样 | 整词锚定 | |
原神 派蒙(AND 空格) | VS Code:分成两次搜或写复杂正则 | 跨字段 AND | |
| `原神 (派蒙\ | 纳西妲)` | VS Code:一样 | 分组 OR |
总结
正则语法是通用的,但每个工具对正则的扩展语义不同。Rays 对表情搜索做了针对性的设计:空格 = AND、跨字段搜索、AND 在字段间。这些设计在其他工具里不一定有,迁移时注意区分语法差异和语义差异。