自定义标签
用「期望文本」自动生成正则,写自己的标签格式
如果 预设标签 不够用,你可以自己发明标签——用任意名字的 <标签> 包裹 AI 输出,然后在「正则美化」里告诉系统遇到这个标签转换成什么 HTML。
你不需要懂正则表达式。粘贴一段「期望文本」样本,系统会自动识别格式并生成正则;你只需要写要展示的 HTML 替换内容。
整体流程
- 想好你希望 AI 用什么标签输出——比如
<角色状态>...</角色状态> - 在游戏设定里告诉 AI 按这个格式输出对应内容
- 创作台 → 正则美化 → 添加规则,在面板里:
- 粘贴一段示例到「期望文本」 → 自动生成正则
- 看下方「捕获组」列表,找到每个变量对应的
$1、$2... - 写「HTML 替换内容」,用
$1$2引用变量
- 保存。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>,建议拆成独立子规则处理[拆分为子规则]
点击"拆分为子规则" 后系统自动:
- 在当前规则上方插入一条子规则,sample 设为单条
<comment>...</comment> - 自动识别
<comment>为嵌套标签,生成内层正则(捕获cuser和ctext) - 拆分按钮变为「已拆分」灰色禁用,防止重复点击
子规则在父规则之前执行——先把每条 <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 帮你包装出一段「等价的嵌套标签样本」让系统生成等价正则;或在 正则表达式科普 了解基础概念后联系我们提需求。