Как мне сопоставить строку с регулярным выражением, используя Lodash? - PullRequest
0 голосов
/ 25 сентября 2019

Я не могу успешно сопоставить строку с регулярным выражением, используя Lodash.

Я бы попробовал следующий пример кода:

regex = /foo/;

// ele.id might be undefined
_.result(ele.id, 'match(regex)');
_.invoke(ele.id, ['match'], [regex]);
_.invoke(ele.id, ['match'], ['regex']);

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

Ответы [ 3 ]

2 голосов
/ 25 сентября 2019

Почему бы вам не использовать Vanilla JS для этого?

    var regex = /foo/;
    var string = "foo";
    
    console.log(regex.test(string))
0 голосов
/ 25 сентября 2019

_.invoke - это правильная функция, но ваш синтаксис немного неправильный.Посмотрите на документы : аргументы для вызова метода с (3-й параметр invoke) не находятся в массиве, а в вашем случае аргумент path (2-й параметр invoke) - тоже простая строка.Вот как это сделать:

// A string
let string = "foo";

// A matching regex (not the case in the original post)
let regex = /foo/;

// Does it match? Note there's two pairs of [] 
// that shouldn't be there in the original post.
let result = _.invoke(string, "match", regex);

// ["foo"]
console.log(result);
0 голосов
/ 25 сентября 2019

вы можете просто сделать это в простом Javascript.Попробуйте

const regex = /foo/;
const testString = "bar";
if(regex.test(testString)) {
   // code..
}
...