2012-12-28 19 views
1

我試圖檢查圖像在HTML img標籤的src使用下面的代碼end_with返回錯誤的結果?紅寶石方法

extension.end_with?(/[.jpg|.gif|.png|.jpeg]/).should eq(true) 

其中 延長= 「teaser_image610x450.jpg」

我也試過

extension.end_with?(/[.]jpg|gif|png|jpeg/).should eq(true) 

在這兩種情況下,我都變得錯誤。 上述代碼有什麼問題?

+0

第一種情況是錯誤的,因爲您使用錯誤的語法來分組'()'而不是'[]'。不過,我很好奇第二宗案件。 – nhahtdh

+1

似乎'end_with?'不需要正則表達式。請檢查相關文件以確認。請參閱此鏈接並查看「end_with?」的來源 - http://extensions.rubyforge.org/rdoc/classes/String.html –

回答

2

你可以用以下形式:

extension.end_with?(".jpg",".gif",".png",".jpeg") 

或者說,這樣的事情:被與前一個正則表達式中使用

extensions = [".jpg",".gif",".png",".jpeg"] 
if extensions.include?(extension) 
    # do something here 
end 

我從來沒有見過這種方法。

+0

thanks extensions = [「.jpg」,「.gif」,「。png」 ,「。jpeg」]的作品 – amjad