登录
登录 注册新账号
注册
已有账号登录

我用的

const str = "{{ name }}{{ people.name }}";
const reg = /{{.+}}/; //

匹配到的结果是:{{ name }}{{ people.name }}
我想要他们两分开的结果要怎么写正则呢?例如:

{
    0: "{{ name }}",
    1: "{{ people.name }}"
}

这种结果

2 个回答
const str = "{{ name }}{{ people.name }}";
str.match(/{{.+?}}/g);

你写的是.+是贪婪匹配,要写成.+?变成非贪婪

let reg = /{{[^}]+}}?/g;

最主要的改变是使用?来防止贪婪匹配,使用g做全局匹配。

撰写答案