前提・実現したいこと
ログの中からGoogle botのipを数えたいです。
複雑な文字列からrubyのstring#includeを用いて、google botかどうか判定させたいです。
以下が対象の文字列です。
str= "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.120 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
↑の文字列の中のChrome/の後ろのipが可変なので(79.0.3945.120の部分)、それに対応する正規表現を挿れたいのですが、それは可能なのでしょうか?
実現したいこと
以下のような具合で文字列の中で正規表現を挿れたいです。
str.include?("Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/#{ipの正規表現にしたい} Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ")
変数展開の中身を正規表現にさせて
この場合にはtrueを返したいです。
試したこと
require 'resolv' ip_rege = Resolv::IPv4::Regex
として、#{ ip_rege} と文字列の中に挿入したのですが、うまくいかないので、困って質問させていただきました。
大変お手数おかけしますが、参考にさせていただけましたら幸いです。
補足情報(FW/ツールのバージョンなど)
ruby -v
2.6.3
回答1件
あなたの回答
tips
プレビュー