こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- 【正規表現】Rubyで、文字列がURLかどうかをチェックする
です。
【正規表現】Rubyで、文字列がURLかどうかをチェックする
結論
URI.regexp.match(検証したい文字列).nil?
で出来ます。
解説
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
参考リンク
module URI (Ruby 3.4 リファレンスマニュアル)
URI.regexp (Ruby 3.4 リファレンスマニュアル)
Regexp#match (Ruby 3.4 リファレンスマニュアル)
Object#nil? (Ruby 3.4 リファレンスマニュアル)
以上です。
RailsやRubyを学びたい人へ
RailsやRubyを学びたい人は、
RailsHack(レイルズハック)という、
最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、
Udemy で下記のコースを受講すると良いです★
✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座
✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】 <- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。
✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう
また、
Udemy は定期的にセールをやっていますし(90%OFFとかもザラ)、
「30日間なら返金できる」ので、
満足できなかった時でも安心です。
【公式】RailsHack(レイルズハック)
【公式】Udemyで学んでみる
最後に
下記の表に、
フリーランスエンジニア向けの人気エージェントをまとめてみました。
エージェント選びで悩んでいる方は是非参考にしてみてくださいね★
エージェント | 詳細 | 最高単価/月 | 設立 |
---|---|---|---|
ココナラテック(旧:フリエン)(furien) | 評判をチェック | 180万円/月 | 2011年 |
ギークスジョブ | 評判をチェック | 180万円/月 | 2011年 |
フォスターフリーランス | 評判をチェック | 230万円/月 | 1996年 |
pe-bank(pebank) | 評判をチェック | 200万円/月 | 1989年 |
Midworks(ミッドワークス) | 評判をチェック | 200万円/月 | 2013年 |
レバテックフリーランス | 評判をチェック | 140万円/月 | 2005年 |
あわせて読みたい