Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти подстроки регулярным выражением (https://javascript.ru/forum/misc/66990-najjti-podstroki-regulyarnym-vyrazheniem.html)

Digan 22.01.2017 01:00

Найти подстроки регулярным выражением
 
Есть строка:
somthing text [attr1], [attr2]

Как написать регулярное выражение, чтобы вытащить массив из выражений между скобками?

Пробовал вот так:
var regexp = /\[(\w+)\]/gi;
var match = template.match(regexp);


match получается ['[attr1]', '[attr2]'], а надо ['attr1', 'attr2'].

рони 22.01.2017 01:33

Digan,
var template = "somthing text [attr1], [attr2]";
   var regexp = /\[(\w+)\]/gi;
   var arr = [];
   var match;
   while (match = regexp.exec(template)) {
     arr.push(match[1])
   }

   alert(arr);

ksa 23.01.2017 09:22

Цитата:

Сообщение от Digan
Как написать регулярное выражение, чтобы вытащить массив из выражений между скобками?

Вставлю свои 5копеек... :D

var template = "somthing text [attr1], [attr2]";
var regexp = /[^\[]+(?=])/gi;
var match = template.match(regexp);
alert(match);


Часовой пояс GMT +3, время: 23:17.