Вы должны построить регулярное выражение, которое выглядит следующим образом:
/.*j.*e.*n.*i.*s.*i.*c.*e.*c.*r.*e.*a.*m.*/
Это регулярное выражение соответствует, если тестируемая строка включает все исходные символы в порядке, но с любыми произвольными дополнительными символами между ними.
Мы можем построить что достаточно легко, делая
function make_regexp(str) {
var letters = str.split('');
letters.push(''), letters.unshift('');
return new RegExp(letters.join('.*'));
}
> make_regexp('jenisicecream')
< /.*j.*e.*n.*i.*s.*i.*c.*e.*c.*r.*e.*a.*m.*/
Теперь проверьте, если вторая строка соответствует:
> make_regexp('jenisicecream').test('jenissplendidicecreams')
< true
что вы пытаетесь соответствовать? вы пытаетесь проверить, есть ли конкретная строка в обоих этих? (например, проверка, чтобы увидеть, содержат ли в обеих строках «jenis»? –
да, но без использования .substring или .slice - есть ли альтернатива регулярного выражения? –
Если это имеет лимит? это может занять очень много времени для длинных строк ... – RobertoNovelo