正则表达式科普
简单了解一下正则表达式是怎么回事
这篇是补充阅读。从 v2.2 起,自定义标签 已经支持「期望文本 → 自动生成正则」,普通用户不需要懂正则就能用。
只在以下情况你才需要读这篇:
- 你好奇系统生成的那串正则到底在干什么
- 你想理解
$1、$2这些占位符的来源 - 你打算手写复杂正则(高级场景)
什么是正则表达式?
你可以把正则表达式想象成一个「查找替换」工具——就像你在 Word 里按 Ctrl+H 做查找替换一样,只不过它更强大,可以用一套规则匹配很多种格式的文字。
在 Storvia 的正则美化中,正则表达式的作用就是:告诉系统去哪里找到需要美化的内容。
一个最简单的例子
假设你想让 AI 输出的 [提示]...[/提示] 变成好看的提示框样式。
第一步:写匹配规则(正则表达式)
\[提示\]([\s\S]*?)\[\/提示\]看起来很复杂?我们一点一点拆开:
| 部分 | 含义 |
|---|---|
\[提示\] | 匹配文字 [提示]。方括号前面加 \ 是因为方括号在正则里有特殊含义,需要转义 |
([\s\S]*?) | 匹配中间的任意内容,并把它「记住」。这个记住的内容后面可以用 $1 引用 |
\[\/提示\] | 匹配文字 [/提示] |
第二步:写替换模板(HTML)
<div class="my-tip">$1</div>这里的 $1 就是第一步中「记住」的内容。系统会把匹配到的文字替换成这段 HTML。
最终效果:AI 输出 [提示]记得保存进度哦[/提示],会变成 <div class="my-tip">记得保存进度哦</div>,然后你可以用全局 CSS 给 .my-tip 设置好看的样式。
常用的正则符号
你不需要记住所有的正则语法,以下几个是在 Storvia 中最常用的:
| 符号 | 含义 | 例子 |
|---|---|---|
\[ 和 \] | 匹配真正的方括号 [ ] | \[提示\] 匹配 [提示] |
(...) | 把匹配到的内容「记住」,后面用 $1、$2 引用 | \[名字:(.*?)\] 记住名字的内容 |
[\s\S]*? | 匹配任意内容(包括换行),尽量少匹配 | 用在开始标签和结束标签之间 |
.*? | 匹配同一行内的任意内容,尽量少匹配 | 用在不需要跨行匹配时 |
\ | 转义符号,让特殊字符变成普通字符 | \[ 匹配普通的 [ |
匹配模式(Flags)
正则表达式末尾可以带一些「模式标记」来调整匹配行为,比如 g(全局匹配,匹配所有出现的内容而不只是第一个)、i(忽略大小写)等。
在 Storvia 的正则美化编辑器中,你不需要关心这项设置:系统生成的正则固定使用 g 模式,编辑器里只读展示,没有任何可勾选的入口。
记住内容:$1、$2、$3……
正则表达式中每一对 () 会按顺序把匹配到的内容「记住」,你可以在替换模板里用 $1、$2、$3 来引用。
例子:匹配 [角色:名字]说的话[/角色]
\[角色:(.*?)\]([\s\S]*?)\[\/角色\]$1= 名字(第一个括号匹配的内容)$2= 说的话(第二个括号匹配的内容)
替换模板:
<div class="character-speech">
<span class="character-name">$1</span>
<p>$2</p>
</div>下一步
学会了正则表达式的基础知识后,可以前往自定义标签查看完整的实战案例,包括如何由期望文本自动生成正则、以及如何手写 HTML 模板。
实际操作步骤
- 打开创作台,找到「正则美化」编辑器
- 点击「添加规则」——会直接创建一条自定义规则(想改用预设标签,在打开后的编辑弹窗里通过下拉切换)
- 填写规则名称(方便自己辨认,比如「手机外壳」)
- 在「期望文本」里粘贴一段 AI 输出样本,正则表达式会自动生成——它是只读的(可复制),编辑器不支持手写正则
- 填写 HTML 替换模板
- 选择应用范围(AI 回复 / 用户消息 / 全部)
- 在预览中查看效果
正则由期望文本自动生成,不用手写也不怕写错。HTML 模板需要自己写,可以善用 AI 工具帮你生成模板和 CSS——你只需要定义好想要的输出格式就行。