質問編集履歴

3

2020/02/19 11:52

投稿

lovetelevi
lovetelevi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,15 @@
28
28
 
29
29
 
30
30
 
31
+ ```
32
+
33
+
34
+
31
35
  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) ")
36
+
37
+
38
+
39
+ ```
32
40
 
33
41
 
34
42
 
@@ -40,11 +48,21 @@
40
48
 
41
49
  ### 試したこと
42
50
 
51
+
52
+
53
+ ```
54
+
55
+
56
+
43
57
  require 'resolv'
44
58
 
45
59
 
46
60
 
47
61
  ip_rege = Resolv::IPv4::Regex
62
+
63
+
64
+
65
+ ```
48
66
 
49
67
 
50
68
 

2

2020/02/19 11:52

投稿

lovetelevi
lovetelevi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```
14
14
 
15
- 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)"
15
+ 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)"
16
16
 
17
17
  ```
18
18
 

1

2020/02/19 11:50

投稿

lovetelevi
lovetelevi

スコア5

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