2010-06-04 29 views
0

我有一個字符串,可能包含帶鏈接的文本。 我使用這些指令精心製作的吧:與正則表達式精心製作的網址

message = message.gsub(/http[s]?:\/\/[^\s]+/) do |m|  
     replace_url(m) 
    end 

如果字符串"http://www.youtube.com/watch?v=6zToqLlM8ms&playnext_from=TL&videos=qpCvM5Ocr3M&feature=sub" 的說明工作。

但如果字符串是"hi my video is http://www.youtube.com/watch?v=6zToqLlM8ms&playnext_from=TL&videos=qpCvM5Ocr3M&feature=sub" 不工作

爲什麼呢?

我該怎麼辦?

謝謝

+0

其實該模式的工作,所以也許問題是與replace_url。嘗試使用「***」(而不是replace_url)運行並親自查看。 – Anton 2010-06-04 11:26:24

回答

0

Beucase這不符合模式。獲取URL添加表達式之前趕上一些廢話URL。

您還可以嘗試將正則表達式模式匹配到每個單詞。因爲url總是一個單詞分隔的詞。

+0

您的陳述不正確。試試這個(在irb中):'「嗨我的視頻是http://www.youtube.com/watch?v=6zToqLlM8ms & playnext_from = TL&videos = qpCvM5Ocr3M&feature = sub」.gsub(/ http [s]?:\/\/[^ \ s] + /,「!」)' – Anton 2010-06-04 11:35:58