miyohideの日記

技術的なメモなどを記しています

2019年4月11日(木)

歯医者さんの定期検診に行けてない

URI.extract

仕事でURLのマッチング処理を書く必要が出てきて、どんな正規表現を書こうかと思い悩んでいたんです。そこで、Rubyならなんか便利なメソッドがあるかもなと思ってググったらURI.extractが出てきました。

docs.ruby-lang.org

Ruby 2.6.2で試してみました。

[1] pry(main)> require 'uri'
=> false
[2] pry(main)> str = "aaa http://foo.bar.com/ https://aaa.co.jp bbb"
=> "aaa http://foo.bar.com/ https://aaa.co.jp bbb"
[3] pry(main)> p URI.extract(str, ["http", "https"])
["http://foo.bar.com/", "https://aaa.co.jp"]
=> ["http://foo.bar.com/", "https://aaa.co.jp"]
[4] pry(main)> p URI.extract(str, ["http"])
["http://foo.bar.com/"]
=> ["http://foo.bar.com/"]
[5] pry(main)>

なるほど。これは楽だ。