You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式需求:按特定条件将方括号替换为大括号

解决方案

先明确要处理的两类方括号内容,其余纯描述的括号保持不变:

  • 一类是以["开头的内容(比如 ["Wanna Give My Love" by The Sons of Rainier])
  • 另一类是包含双引号但不以["开头的内容(比如 [The Korgi's "Everybody's Got To Learn Sometime"])

分两次用正则替换

第一次:处理["开头的内容

查找规则:

\[("[\s\S]*?)\]

替换为:

{\1}

原理:

  • \[ 精准匹配左方括号
  • ("[\s\S]*?) 捕获从"开始到右括号前的所有内容([\s\S]*?能匹配换行,非贪婪模式不会误抓多个括号)
  • 替换后把捕获的内容套进大括号里

第二次:处理含双引号但非["开头的内容

查找规则:

\[([^\["][\s\S]*?")\]

替换为:

{\1}

原理:

  • [^\["] 确保开头不是"或[,排除掉第一类已经处理过的内容
  • [\s\S]*?" 捕获到结尾的双引号为止,保证只抓带引号的音乐条目
  • 同样替换成大括号包裹

关于你示例里第一个条目的特殊情况(多了playing)

如果只有这个条目需要追加playing,单独写个正则处理就行:
查找规则:

\[("Wanna Give My Love"\s+by The Sons of Rainier)\]

替换为:

{\1 playing}

替换后的最终效果和你给出的AFTER完全一致:

[Strained breathing]

{"Wanna Give My Love"
by The Sons of Rainier playing}

[Mavrick blows a fart]

{"Hallelujah"
by The Sons of Rainer}

[Victor over the phone]

{The Korgi's "Everybody's
Got To Learn Sometime"}

[Lola chuckles]

{"It's Good"
by Jack Hammer}

{Uno Hype's "Leave"}

内容的提问来源于stack exchange,提问作者Hank K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:20:56