Storvia

自定义标签

用「期望文本」自动生成正则,写自己的标签格式

如果 预设标签 不够用,你可以自己发明标签——用任意名字的 <标签> 包裹 AI 输出,然后在「正则美化」里告诉系统遇到这个标签转换成什么 HTML。

不需要懂正则表达式。粘贴一段「期望文本」样本,系统会自动识别格式并生成正则;你只需要写要展示的 HTML 替换内容。

整体流程

  1. 想好你希望 AI 用什么标签输出——比如 <角色状态>...</角色状态>
  2. 在游戏设定里告诉 AI 按这个格式输出对应内容
  3. 创作台 → 正则美化 → 添加规则,在面板里:
    1. 粘贴一段示例到「期望文本」 → 自动生成正则
    2. 看下方「捕获组」列表,找到每个变量对应的 $1$2...
    3. 写「HTML 替换内容」,用 $1 $2 引用变量
  4. 保存。AI 之后输出该格式时,会自动被替换成你写的 HTML

支持的期望文本形态

系统会自动识别你粘贴的样本属于哪种形态,每种生成的正则不同:

形态示例生成
嵌套标签<weibo><hot1>...</hot1><hot2>...</hot2></weibo>每个直接子标签 → 一个捕获组
单标签<narration>月光洒落...</narration>内容作为单个捕获组 $1
符号包裹^旁白^*强调*~删除~同符号之间内容 → $1
配对符号「角色」(内容)【提示】"…"配对符号之间内容 → $1
纯文本Char名称妮妮某某角色整段文字字面匹配 → $1

推荐使用「嵌套标签」格式——AI 容易稳定输出,结构清晰,可以有多个独立变量。

各种期望文本写法示例

下面是常见 RP 场景下不同形态的写法示例,可以直接复制到「期望文本」框作为起点。

A. 嵌套标签:角色状态面板

<角色状态>
    <名称>妮妮</名称>
    <好感度>85</好感度>
    <心情>开心</心情>
    <心理活动>窗外的阳光很好,今天应该会是不错的一天吧</心理活动>
</角色状态>

匹配:$1=名称 $2=好感度 $3=心情 $4=心理活动,4 个独立变量。

B. 嵌套标签:游戏 UI 通知

<通知>
    <类型>成就解锁</类型>
    <标题>初次见面</标题>
    <描述>与新角色完成第一次对话</描述>
</通知>

适合做"成就弹窗""任务完成"之类的视觉反馈。

C. 嵌套标签:聊天截图模拟(带嵌套重复)

<聊天截图>
    <平台>微信</平台>
    <时间>14:23</时间>
    <消息列表>
        <消息><发送者>张三</发送者><内容>你好啊</内容></消息>
        <消息><发送者>me</发送者><内容>在的</内容></消息>
    </消息列表>
</聊天截图>

粘贴后系统会自动检测<消息列表> 内有 2 个 <消息> 是重复结构,提示拆分为子规则——点一下"拆分为子规则",子规则自动建好。

D. 嵌套标签:物品/装备卡

<物品>
    <名称>旧式怀表</名称>
    <稀有度>稀有</稀有度>
    <描述>表盘已经泛黄,但仍能准确报时</描述>
    <效果>+5 智力</效果>
</物品>

E. 嵌套标签:场景信息条

<场景>
    <地点>咖啡馆 · 临窗位</地点>
    <时间>下午 3:47</时间>
    <天气>晴</天气>
</场景>

F. 单标签:作者旁白

<旁白>她推开门,咖啡香气扑面而来</旁白>

整段内容作为 $1,适合不需要拆分多个字段的场景。

G. 单标签:系统提示

<系统>检测到玩家进入新区域:图书馆</系统>

H. 符号包裹:行内强调

*这是被强调的文字*

或者用其它符号:

~删除的内容~
^旁白文字^
|关键词|

AI 输出 *xxx* 时被匹配,$1=xxx,可以渲染成加粗、高亮、波浪线之类的样式。

注意:符号包裹要求"内部不能再出现该符号"。*纯文本 *嵌套* 失败* 这种会出问题——非贪婪匹配会停在第一个 * 关闭。这种场景请改用嵌套标签。

I. 配对符号:角色对话引号

「这是我说的话」

中文常用配对:「」、『』、()、【】、《》、〈〉、""、'';英文:()[]{}。 适合做角色台词、提示弹窗等。

J. 纯文本:固定角色名高亮

妮妮

所有出现"妮妮"的文字都会被匹配上($1 就是这两个字),可以包成专属颜色的 span:

<span class="char-name-nini">$1</span>

适合给主要角色名做统一视觉标识。

纯文本模式会字面匹配——大小写、空格、标点都严格一致才会匹配。如果想要更灵活,请改用标签包裹。

怎么选合适的写法?

你想做的事推荐形态
AI 输出有多个字段(名称、数值、描述等),想分别引用嵌套标签(D、E)
一段整体内容做统一样式(旁白、系统提示)单标签(F、G)
短小的行内强调(加粗、删除线)符号包裹(H)
内容被一对中/英文符号包裹(如对话引号)配对符号(I)
固定字符串高亮(角色名、术语)纯文本(J)
内部有不定数量的重复项(评论、消息列表)嵌套标签 + 自动拆分子规则(C)

完整示例:角色状态面板

希望 AI 在合适时输出角色状态:

<角色状态>
    <名称>妮妮</名称>
    <好感度>85</好感度>
    <心情>开心</心情>
    <心理活动>窗外的阳光很好,今天应该会是不错的一天吧</心理活动>
</角色状态>

第一步:粘贴期望文本

把上面这段贴到面板的「期望文本」框,系统自动产出:

正则表达式(只读、可一键复制):

<角色状态>\s*<名称>([\s\S]*?)<\/名称>\s*<好感度>([\s\S]*?)<\/好感度>\s*<心情>([\s\S]*?)<\/心情>\s*<心理活动>([\s\S]*?)<\/心理活动>\s*<\/角色状态>

捕获组

  • $1 = 名称内容
  • $2 = 好感度内容
  • $3 = 心情内容
  • $4 = 心理活动内容

第二步:写 HTML 替换内容

可以点「测试效果」按钮让系统自动生成一份默认骨架(class 名按标签名拼好),再按自己想要的样式改:

<div class="x-角色状态">
    <div class="x-角色状态-名称">$1</div>
    <div class="x-角色状态-好感度">$2</div>
    <div class="x-角色状态-心情">$3</div>
    <div class="x-角色状态-心理活动">$4</div>
</div>

或者完全手写:

<div class="status-card">
    <div class="status-head">
        <span class="name">$1</span>
        <span class="mood">$3</span>
    </div>
    <div class="status-bar">好感度 $2</div>
    <div class="status-thought">$4</div>
</div>

第三步:写 CSS

把对应的 .status-card 等样式写到 全局 CSS 样式,AI 输出时就会自动渲染。

嵌套重复结构:自动拆分为子规则

单条正则没法处理"数量不定的子项"——比如一条微博下面有 N 条评论。系统会在粘贴样本时自动检测这种情况,给出拆分提示。

例如:

<weibo>
    <user>jihyun</user>
    <text>今晚的咖啡有点苦</text>
    <comments>
        <comment><cuser>张三</cuser><ctext>👍</ctext></comment>
        <comment><cuser>李四</cuser><ctext>晚安</ctext></comment>
        <comment><cuser>王五</cuser><ctext>失眠了?</ctext></comment>
    </comments>
</weibo>

样本下方会出现提示:

ⓘ $3 内部有 3 个 <comment>,建议拆成独立子规则处理 [拆分为子规则]

点击"拆分为子规则" 后系统自动:

  1. 在当前规则上方插入一条子规则,sample 设为单条 <comment>...</comment>
  2. 自动识别 <comment> 为嵌套标签,生成内层正则(捕获 cuserctext
  3. 拆分按钮变为「已拆分」灰色禁用,防止重复点击

子规则在父规则之前执行——先把每条 <comment> 转成 HTML,外层规则的 $3 拿到的就已经是渲染好的评论 HTML。

顺序由列表决定。子规则必须排在父规则上方。系统自动拆分时已经处理好顺序,手动调整规则时也要遵守这个原则。

面板各项说明

字段说明
规则名称备注用,写不写都行(创作台列表里显示该名字)
预设标签下拉切换为预设标签(如旁白/对话气泡)或保持自定义
应用对象仅 AI 消息 / 仅用户消息 / 全部消息
期望文本粘贴 AI 输出样本,自动产出正则
填入模板一键填入示例期望文本(角色状态面板)
正则表达式自动生成,只读,右侧"复制"按钮可一键复制
捕获组列出 $1、$2... 及对应内容预览
HTML 替换内容你写的 HTML 模板,支持 $1、$2... 引用
测试效果根据捕获组自动填一份默认 HTML 骨架到上方(覆盖当前内容)
执行顺序父子规则才显示,标明当前规则的执行序号
删除规则底部左侧
保存底部右侧

不会写 HTML?让 AI 帮你写

写好期望文本 + 复制正则后,把内容发给 ChatGPT / Claude:

我有一段正则 /<角色状态>\s*<名称>([\s\S]*?)<\/名称>.../g,会匹配以下结构:

<角色状态>
    <名称>妮妮</名称>
    <好感度>85</好感度>
    <心情>开心</心情>
    <心理活动>...</心理活动>
</角色状态>

请帮我写一段 HTML 替换内容 + 配套 CSS,要求做成卡片样式,左上角显示名称,右上角显示心情 emoji,下面显示好感度进度条和心理活动。

AI 会同时给出 $1 $2... 引用的 HTML + 全局 CSS,分别贴到「HTML 替换内容」和全局 CSS 样式里即可。

进阶:仍想手写正则

少数场景下可能想完全手写正则(比如特殊的 lookbehind、不规则边界)。当前编辑器不支持手写入口——所有正则都从「期望文本」生成。如果有这种刚需,可以让 AI 帮你包装出一段「等价的嵌套标签样本」让系统生成等价正则;或在 正则表达式科普 了解基础概念后联系我们提需求。

On this page