2011-07-11 12 views
6

jQuery ile çalışıyorum ve bir modelin yerine yazmaya çalışıyorum ama işe yaramıyor. Böyle bir şeyin niçin anlamıyorumjavascript regexp yerine çalışma, ancak dize yerine çalışır

var $featured_rewrite = $('#featured').not('.slideshow'); 
$featured_rewrite.children().attr('href', $featured_rewrite.find('img').attr('src').replace('/-[0-9]+x[0-9]+\./i', '.')); 

: Hatta bir araç ile kontrol ve geçerli olduğunu emin yaptı ve işler

.replace('-500x277.', '.') 

ancak buna: Bunu alabilir

cevap

35

'/-[0-9]+x[0-9]+\./i' bir dizedir.

/-[0-9]+x[0-9]+\./i regex'dir.

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

Düzenleme: Ayrıca açık konuşmak gerekirse, tırnak dışındaki senin regex ile yanlış bir şey yok. Birden fazla eşleşmeyi değiştirmeniz gerekiyorsa, /g (örn. /gi) 'u kullanmayı düşünebilirsiniz.

+0

+1 bryan, güzel yakalama – kobe

+1

Bu bana yardımcı oldu, teşekkürler. – RTF

+0

Uhh, denemeler ve kitapçıkları yeniden okumada harcanan saat, ben buraya gelene kadar '' yokluğunu fark etmedim. – Sandman4