Ruby on rails URL子字符串匹配正则表达式?

Ruby on rails URL子字符串匹配正则表达式?,ruby-on-rails,regex,Ruby On Rails,Regex,假设我只希望用户键入以开头的url 这个的正则表达式是什么 谢谢 只需获取从0到http://www.google.com就完成了。只需将子字符串从0取到http://www.google.com你就完成了。试试这个: /\Ahttp:\/\/www\.google\.com(.*)?\Z/ ruby-1.9.2-p0 > "http://www.google.com" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/ => 0 ruby-1.9.2

假设我只希望用户键入以开头的url 这个的正则表达式是什么


谢谢

只需获取从0到
http://www.google.com
就完成了。

只需将子字符串从0取到
http://www.google.com
你就完成了。

试试这个:

/\Ahttp:\/\/www\.google\.com(.*)?\Z/

ruby-1.9.2-p0 > "http://www.google.com" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/
=> 0 
ruby-1.9.2-p0 > "http://www.google.com/foobar" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/
=> 0 
ruby-1.9.2-p0 > $1
=> "/foobar" 
试试这个:

/\Ahttp:\/\/www\.google\.com(.*)?\Z/

ruby-1.9.2-p0 > "http://www.google.com" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/
=> 0 
ruby-1.9.2-p0 > "http://www.google.com/foobar" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/
=> 0 
ruby-1.9.2-p0 > $1
=> "/foobar" 

Rails有一个方便的开始?方法。如果它只是一个静态字符串,则不需要正则表达式


url.以?(“http://www.google.com“

Rails有一个方便的开始?方法。如果它只是一个静态字符串,则不需要正则表达式


url.以?(“http://www.google.com“”/代码> 

,而不是使用正则表达式,您可能需要考虑使用露比的那个。它是用来分解和构建URL的,经过了良好的测试,并且比试图重新设计相同的功能更不容易出错

require 'uri'

url = URI.parse('http://www.google.com/path/to/page.html?a=1&b=2')
url.scheme # => "http"
url.host   # => "www.google.com"
url.path   # => "/path/to/page.html"
url.query  # => "a=1&b=2"

如果这还不够好,GEM甚至更有能力。

< P>而不是使用正则表达式,您可能需要考虑使用露比。它是用来分解和构建URL的,经过了良好的测试,并且比试图重新设计相同的功能更不容易出错

require 'uri'

url = URI.parse('http://www.google.com/path/to/page.html?a=1&b=2')
url.scheme # => "http"
url.host   # => "www.google.com"
url.path   # => "/path/to/page.html"
url.query  # => "a=1&b=2"
如果这还不够好的话,宝石甚至更有能力