teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

2020/02/19 11:52

投稿

lovetelevi
lovetelevi

スコア5

title CHANGED
File without changes
body CHANGED
@@ -13,16 +13,25 @@
13
13
 
14
14
  以下のような具合で文字列の中で正規表現を挿れたいです。
15
15
 
16
+ ```
17
+
16
18
  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) ")
17
19
 
20
+ ```
21
+
18
22
  変数展開の中身を正規表現にさせて
19
23
  この場合にはtrueを返したいです。
20
24
 
21
25
  ### 試したこと
26
+
27
+ ```
28
+
22
29
  require 'resolv'
23
30
 
24
31
  ip_rege = Resolv::IPv4::Regex
25
32
 
33
+ ```
34
+
26
35
  として、#{ ip_rege} と文字列の中に挿入したのですが、うまくいかないので、困って質問させていただきました。
27
36
  大変お手数おかけしますが、参考にさせていただけましたら幸いです。
28
37
 

2

2020/02/19 11:52

投稿

lovetelevi
lovetelevi

スコア5

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  以下が対象の文字列です。
7
7
  ```
8
- 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)"
8
+ 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)"
9
9
  ```
10
10
  ↑の文字列の中のChrome/の後ろのipが可変なので(79.0.3945.120の部分)、それに対応する正規表現を挿れたいのですが、それは可能なのでしょうか?
11
11
 

1

2020/02/19 11:50

投稿

lovetelevi
lovetelevi

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,25 +1,32 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- ここに質問の内容を詳しく書いてください。
4
- (例)PHP(CakePHP)で●●なシステム作ってす。
3
+ ログの中からGoogle botのip数えたす。
5
- ■■機能を実装中に以下エラーメッセージが発生しました。
4
+ 複雑文字列からrubystring#includeを用いて、google botかどうか判定させいです
6
5
 
7
- ### 発生している問題・エラーメッセージ
6
+ 以下が対象の文字列です。
8
-
9
7
  ```
10
- エラーメッセージ
8
+ 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)"
11
9
  ```
10
+ ↑の文字列の中のChrome/の後ろのipが可変なので(79.0.3945.120の部分)、それに対応する正規表現を挿れたいのですが、それは可能なのでしょうか?
12
11
 
13
- ### 該当のソースコード
12
+ ### 実現したいこと
14
13
 
15
- ```ここに言語名入力
14
+ 以下のような具合で文字列の中で正規表現挿れたいです。
16
- ソースコード
17
- ```
18
15
 
16
+ 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) ")
17
+
18
+ 変数展開の中身を正規表現にさせて
19
+ この場合にはtrueを返したいです。
20
+
19
21
  ### 試したこと
22
+ require 'resolv'
20
23
 
21
- ここに問題に対して試したことを記載してください。
24
+ ip_rege = Resolv::IPv4::Regex
22
25
 
26
+ として、#{ ip_rege} と文字列の中に挿入したのですが、うまくいかないので、困って質問させていただきました。
27
+ 大変お手数おかけしますが、参考にさせていただけましたら幸いです。
28
+
29
+
23
30
  ### 補足情報(FW/ツールのバージョンなど)
24
-
25
- ここにより詳細な情報を記載してください。
31
+ ruby -v
32
+ 2.6.3