/
最後の文字列の後にすべてを返したい文字列があります。
たとえばhttps://www.example.org/hackerbob
、 を返す必要があり"hackerbob"
ます。
/
最後の文字列の後にすべてを返したい文字列があります。
たとえばhttps://www.example.org/hackerbob
、 を返す必要があり"hackerbob"
ます。
タスクがいかに単純であるかを見て、正規表現は良い考えではないと思います。
irb(main):001:0> s = 'https://www.facebook.com/hackerbob'
=> "https://www.facebook.com/hackerbob"
irb(main):002:0> s.split('/')[-1]
=> "hackerbob"
もちろん、正規表現を使用してそれを行うこともできますが、読みにくくなります。
irb(main):003:0> s[/([^\/]+)$/]
=> "hackerbob"
仕事に適したツールを使用してください。
require 'uri'
url = "https://www.facebook.com/hackerbob"
URI.parse(url).path[1..-1] # => "hackerbob"
もう1つのサンプル
str = 'https://www.facebook.com/hackerbob'
ending = str.match(/.com\/(.*)/)
p ending[1]
これを使うかもしれません
subject = /(\/)([^\/]+)\Z/i.match(subject)
if match
# match start: match.begin(0)
# match end (exclusive): match.end(0)
# matched text: match[0]
# backreference n start: match.begin(n)
# backreference n end (exclusive): match.end(n)
# backreference n text: match[n]
else
# Match attempt failed
end
これを使って
1.9.3p194 :039 > line = 'https://www.facebook.com/hackerbob'
1.9.3p194 :039 > line.match(/.com\/(\w+$)/)[1] # => "hackerbob"
/[a-zA-Z]+://[az]+.[az]+.[az]+/(.+)/ 上記の文字列または他の同様の URL に使用している場合は、試すことができます。正規表現に使用する優れたツールはhttp://www.rubular.comです。
できますよ:
string = 'https://www.facebook.com/hackerbob'
string =~ /^https?:\/\/www\.facebook\.com\/(.*)/
$1