报错参考 / flowchart, graph

解析错误:遇到了 'PS'

一个方括号标签里包含了未转义的 ( 或 ),Mermaid 会把它读作另一种节点形状的开始,而不是标签文本。

Parse error on line 2:
...hart TD    a[Login (OAuth)] --> b[Done]
----------------------^
Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', ... got 'PS'

为什么会这样

Mermaid 用 ( 和 ) 来开启圆角和体育场形节点。在 [ ] 标签内部,一个未转义的括号是有歧义的:解析器无法判断你是想表达字面文本,还是想嵌套一个新形状,于是解析失败。

这种情况在真实图表里非常常见——API 名称、函数签名,以及括注("Login (OAuth)"、"process(data)")正是最容易触发它的文本。

如何修复

把整个标签用双引号包起来:a["Login (OAuth)"]。带引号的文本会被当作字面字符串处理,所以括号、冒号以及大多数其他标点在里面都是安全的。

对于标点较多的情况,给标签加引号比逐个转义字符更可靠。

错误示例

解析失败

正在渲染预览...
flowchart TD
    a[Login (OAuth)] --> b[Done]

修复后

正常渲染

正在渲染预览...
flowchart TD
    a["Login (OAuth)"] --> b[Done]

更多报错