node.js / строки, которые соответствуют регулярному выражению

#node.js

#node.js

Вопрос:

У меня есть список строк в node.js

 var listStr = ["helloworld","helloworld1","helloworld2","somethingelse"]
  

Я хочу найти все строки, которые соответствуют некоторому регулярному выражению. Например, для регулярного выражения: *world* я бы получил следующие строки: "helloworld","helloworld1","helloworld2"

есть какой-либо пакет или функция npm, которые получают список строк и регулярных выражений и возвращают строки, которые соответствуют регулярному выражению?

Ответ №1:

Для этого вам не нужен пакет NPM:

 var filtered = listStr.filter(function (item) {
    return item.match(/world/);
});
  

Содержимое filtered :

 [ 'hello world',
  'helloworld1',
  'helloworld2' ]
  

Ответ №2:

Вы можете сделать это в обычном JavaScript. Просто исправьте свое регулярное выражение и используйте Array#filter() :

 listStr.filter(function(str){return /.*world.*/.test(str)})
                                     ^^     ^^ proper wildcard