Как извлечь содержимое между двойными фигурными скобками с помощью вложенных фигурных скобок - PullRequest
0 голосов
/ 01 сентября 2018

Я бы хотел разобрать строку и получить совпадения:

var string = `{{type|equal:'user','This is a {{type}}','{{type}} not authorized to perform "{{current_action}}" action'}}`;

Желаемый вывод:

[
    {
        match: '{{type|equal:'user','This is a {{type}}','{{type}} not authorized to perform "{{current_action}}" action'}}',
        key: 'type',
    },
    {
        match: '{{type}}',
        key: 'type'
    },
    {
        match: '{{current_action}}',
        key: 'current_action'
    }
]

Вот что я пробовал:

var string = `{{type|equal:'user','This is a {{type}}','{{type}} not authorized to perform "{{current_action}}" action'}}`;
var regex = RegExp('{{(.*?)}}', 'g');
var match;
var matches = [];

while ((match = regex.exec(string)) !== null) {
    matches.push({match: match[0], key: match[1]});
}

console.log(matches);

1 Ответ

0 голосов
/ 01 сентября 2018

Попробуйте что-то вроде https://regex101.com/

что-то вроде ниже должно работать

var matches = string.match(/{{\w+}}/g)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...