2012-02-28 83 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