javascript regexp replace не работает, но строка replace работает
Я работаю с jQuery и пытаюсь написать замену шаблона, но это не работает. У меня вот что:
var $featured_rewrite = $('#featured').not('.slideshow');
$featured_rewrite.children().attr('href', $featured_rewrite.find('img').attr('src').replace('/-[0-9]+x[0-9]+./i', '.'));
Я не понимаю, почему что-то вроде этого работает:
.replace('-500x277.', '.')
но не это, что я даже проверил с помощью инструмента и убедился, что он действителен и работает:
.replace('/-[0-9]+x[0-9]+./i', '.')
1 ответов
'/-[0-9]+x[0-9]+\./i'
- это строка.
/-[0-9]+x[0-9]+\./i
регулярным выражением.
"hi".match('/hi/') // returns null
"hi".match(/hi/) // returns ["hi"]
Edit: кроме того, чтобы быть ясным, нет ничего плохого в вашем регулярном выражении, кроме кавычек. Возможно, вы захотите использовать /g
(т. е. /gi
в конце), если вам нужно заменить более одного матча, но это все.