javascript regexp replace不起作用,但字符串replace起作用

javascript regexp replace不起作用,但字符串replace起作用,javascript,jquery,regex,replace,pattern-matching,Javascript,Jquery,Regex,Replace,Pattern Matching,我正在使用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('-500x

我正在使用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', '.')

'/-[0-9]+x[0-9]+\./i'
是一个字符串

/-[0-9]+x[0-9]+\./i
是正则表达式

"hi".match('/hi/')  // returns null
"hi".match(/hi/)    // returns ["hi"]

编辑:另外,要明确的是,除了引号之外,您的正则表达式没有任何问题。如果你需要替换一个以上的匹配,你可能想考虑使用<代码> /g < /代码>(即“代码>/GI”),但这就是它。

UHH,浪费在试验和重读手册上的时间,从来没有注意到“直到我来”之前的“Loz”,Loz,花了我30分钟的时间来弄清楚为什么我的“/ReXe//'不起作用……”