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

求助:如何用正则表达式按{{Text}}格式分割文本?

按{{Text}}格式分割文本的正则表达式方案

嘿,很高兴看到你自己搞定了这个正则!我来把这个方案梳理得更清楚些,方便其他有同样需求的开发者参考:

需求说明

我们需要一个正则表达式,用来将包含{{任意内容}}格式的文本在这些标记位置进行分割,最终得到去掉所有{{...}}部分后的剩余内容组成的数组。比如示例文本:

var str = "{{This}} is a {{test}} string to be {{spliced}} with {{Regular}} Expression";

分割后要得到:

["","is a ","string to be "," with"," Expression"]

解决方案

你找到的正则表达式{{[^{}]+}}完全符合需求,这里拆解一下它的逻辑:

  • {{:精准匹配开头的两个左大括号
  • [^{}]+:匹配至少一个非大括号的字符(确保只匹配{{和}}之间的内容,不会误匹配嵌套的大括号)
  • }}:精准匹配结尾的两个右大括号

代码示例

const regx = /{{[^{}]+}}/g;
const str = "{{This}} is a {{test}} string to be {{spliced}} with {{Regular}} Expression";
const splitArray = str.split(regx);

console.log(splitArray);
// 输出:["","is a ","string to be "," with"," Expression"]

注意要加上g修饰符,这样才能全局匹配所有符合格式的标记,否则只会分割第一个匹配项。

内容的提问来源于stack exchange,提问作者Razin Abid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:53:17