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

如何使用正则匹配包含特殊符号的字符串片段?

正则匹配方案

原有正则失效原因

你使用的\w+$只能匹配字符串末尾由字母、数字、下划线组成的连续内容,你需要匹配的-[[message]]-包含-、[、]等非\w字符,因此无法命中。

匹配完整片段(包含-[[和]]-)

推荐使用以下正则:
-\[\[[^\]]+\]\]-
语法说明:

  • - 匹配字面量横杠
  • \[ 转义匹配字面量[(方括号在正则中是特殊字符,必须转义)
  • [^\]]+ 匹配1个及以上非]的任意字符,覆盖中间的message内容
  • \] 转义匹配字面量]
  • 末尾-匹配收尾横杠

如果你的场景中message内部可能存在]字符,可以改用非贪婪匹配写法:
-\[\[.+?\]\]-

单独提取中间的message内容

如果不需要外层的符号,仅需要提取包裹的文本,给中间内容加捕获组即可:
-\[\[([^\]]+)\]\]-
匹配后取捕获组1的内容即可直接得到message。

代码示例(JavaScript)

const rawStr = 'This is a test -[[message]]-'
// 匹配完整片段
const fullMatchReg = /-\[\[[^\]]+\]\]-/
console.log(rawStr.match(fullMatchReg)[0]) // 输出:-[[message]]-

// 提取中间内容
const groupMatchReg = /-\[\[([^\]]+)\]\]-/
console.log(rawStr.match(groupMatchReg)[1]) // 输出:message

内容的提问来源于stack exchange,提问作者Taha Sami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:06:03