2012-02-28 72 views
0

好了,所以我不明白在紅寶石的正則表達式檢查工作這是如何工作在紅寶石?

=~ 

1.9.2p290 :009 > url = "/myurl" 
=> "/myurl" 
1.9.2p290 :010 > url =~ %r{^/.*/found/\d+$}i 
=> nil 
1.9.2p290 :011 > url = "/myurl/found/1" 
=> "/myurl/found/1" 
1.9.2p290 :012 > url =~ %r{^/.*/found/\d+$}i 
=> 0 

如果找到否則返回nil這似乎返回的東西價值......但我不知道肯定 ....哪裏是這個地方的文檔...我試圖谷歌這一點,沒有運氣... ...任何幫助,將不勝感激

+0

檢出http://ruby-doc.org/core-1.9.2/Regexp.html#method-i-3D-7E和http://ruby-doc.org/core-1.9.2/String .html#method-i-3D-7E獲取=〜方法的一些文檔。 – BaronVonBraun 2012-02-28 20:07:37

回答

3

當它匹配時,它返回匹配的開始位置。否則,返回零。上例中的0表示匹配正則表達式的子字符串從原始字符串的位置0開始。

+0

我不知道如何訪問這個URL [0] =>「/」,如果你知道文檔的位置 – Trace 2012-02-28 20:04:38

+0

@Tamer什麼是'url'?你不應該使用變量而不解釋。這是一個非常基本的東西。也許你可以在ruby-doc.org上找到Regexp類的文檔。 – sawa 2012-02-28 20:09:10

+0

我在我的問題「/ myurl/found/1」 – Trace 2012-02-28 20:09:44