スリ飯屋Malankaのフリーエンジニアな日々

IT実務未経験から約1年、東京でフリーランスのRuby on Railsエンジニアに転職。約2年半、大阪中崎町でスリランカカレーの間借りしてました。フリーランスエンジニアになるためのノウハウ、スリランカの事を発信していきます。

【正規表現】Rubyで、文字列がURLかどうかをチェックする

こんにちは、mahです。

このブログでは、自分がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。


今回は、

  • Rubyで正規表現を使って、文字列がURLかどうかをチェックする方法

をまとめました。


結論


URI.regexp.match(検証したい文字列).nil?

で出来ます。


参考リンク


module URI (Ruby 2.7.0 リファレンスマニュアル)

URI.regexp (Ruby 2.7.0 リファレンスマニュアル)

Regexp#match (Ruby 2.7.0 リファレンスマニュアル)

Object#nil? (Ruby 2.7.0 リファレンスマニュアル)


解説


URI.regexp.match(検証したい文字列) を使います。


例: 対象の文字列がURLの場合


MatchDataオブジェクトが返ります。

URI.regexp.match('https://www.malanka.tech')
=> #<MatchData
 "https://www.malanka.tech"
 1:"https"
 2:nil
 3:nil
 4:"www.malanka.tech"
 5:nil
 6:nil
 7:nil
 8:nil
 9:nil>


例: 対象の文字列がURLでない場合


nilが返ります。

URI.regexp.match('URLではありません')
=> nil


nilが返る性質を利用して、冒頭の、

URI.regexp.match(検証したい文字列).nil?

で論理値を返すことで、

対象の文字列がURLかどうかをチェックすることが出来ます。


検証


Railsコンソールで検証します。

# URLなのでMatchDataオブジェクトを返す。よって .nil? はfalseを返す
> URI.regexp.match('https://www.malanka.tech').nil?
=> false

# URLではないのでマッチせずにnilを返す。よって .nil? はtrueを返す
> URI.regexp.match('URLではありません').nil?
=> true




以上、

  • Rubyで正規表現を使って、文字列がURLかどうかをチェックする方法

でした。


正規表現って聞くと難しそうで「うっ...」っとなりますよね笑


でも、

Rubyには便利なメソッドが沢山用意されているので、

簡単に実現出来たりします。


たまーにリファレンスを色々ググってみると、

  • こんな簡単に出来たのか!

という発見がありますよ。


もし、まだRubyを使いはじめて日が浅い人は、

一度技術書で体型的に学ぶのをオススメします。


自分も本は苦手ですが、

  • ググってるだけだと、どうしても知識が断片的になる

  • 基本を知らないまま進んでいる

ということに気付き、

技術書を手にとって学んでみました。


その時に読んでいたのが、下記の本。


この本の作者の伊藤さんは、

Qiitaで沢山の良質記事を量産している方です。

jnchito - Qiita


この本についても、

✅丁寧でわかりやすい文章

✅確かなコード

で、初心者から熟練者までとても読みやすく書かれています。


自分も大変お世話になっています笑


まだまだこれからも勉強しなきゃ...




このブログでは、

僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いています。


  • フリーランスに興味がある

  • 今まさに活動している

という方は、下記の記事で、

  • 【実体験】高卒文系が1年でRailsのフリーエンジニアになった話

  • 【週3案件豊富 正社員並の保証】フリーランスエージェント**Midworks**を使ってみた感想

  • 【10倍効率化!?】プログラマの作業が鬼捗る【9つのグッズ】

を紹介していますので、よかったらチェックしてみてください。


www.malanka.tech

www.malanka.tech

www.malanka.tech






また、

駆け出しエンジニアに向けてのnoteを3月17日にリリースしました。

note.com


活躍出来るエンジニアになるためのマインドを、

ギュッと詰め込んだ、「実践型note」になってます。


  • 「IT転職を成功させたい!」

という方は是非チェックしてみてください。






最後までお読み頂きありがとうございました★

もしよかったらTwiiterのフォローもお願いします★