回答編集履歴

4

テキスト修正

2019/11/17 17:05

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -90,7 +90,7 @@
90
90
 
91
91
 
92
92
 
93
- はじめに挙げた**(1) 正規表現を使う** のコードの修正版です。
93
+ はじめに挙げた**(1) 正規表現を使う** の修正版です。
94
94
 
95
95
  `match` に与える正規表現に、先読みと後読みを使って、 `"` で囲まれた数字だけをマッチさせるようにすると、`replace` で `"` を削る処理が不要になります。
96
96
 

3

テキスト修正

2019/11/17 17:05

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -86,6 +86,26 @@
86
86
 
87
87
 
88
88
 
89
+ ## (4)正規表現を使う(その3)
90
+
91
+
92
+
93
+ はじめに挙げた、 **(1) 正規表現を使う** のコードの修正版です。
94
+
95
+ `match` に与える正規表現に、先読みと後読みを使って、 `"` で囲まれた数字だけをマッチさせるようにすると、`replace` で `"` を削る処理が不要になります。
96
+
97
+
98
+
99
+ ```javascript
100
+
101
+ var list = str.match(/(?<=")\d(?=")/g).map(s => +s);
102
+
103
+ ```
104
+
105
+ - **動作確認用CodePen: **[https://codepen.io/jun68ykt/pen/pooqjBE?editors=0012](https://codepen.io/jun68ykt/pen/pooqjBE?editors=0012)
106
+
107
+
108
+
89
109
 
90
110
 
91
111
 

2

テキスト修正

2019/11/17 13:57

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -28,8 +28,6 @@
28
28
 
29
29
 
30
30
 
31
-
32
-
33
31
  ## (2) HTMLをパースしてDOM操作から取得
34
32
 
35
33
 
@@ -56,4 +54,40 @@
56
54
 
57
55
 
58
56
 
57
+ ## (3)正規表現を使う(その2)
58
+
59
+
60
+
61
+ 正規表現を使う場合、こんなやり方でもできます。
62
+
63
+
64
+
65
+ ```javascript
66
+
67
+ var regexp = /"(\d)"/g;
68
+
69
+
70
+
71
+ var list = [];
72
+
73
+ var m;
74
+
75
+ while (m = regexp.exec(str)) {
76
+
77
+ list.push(+m[1]);
78
+
79
+ }
80
+
81
+ ```
82
+
83
+ - **動作確認用CodePen: **[https://codepen.io/jun68ykt/pen/GRRPpvw?editors=0012](https://codepen.io/jun68ykt/pen/GRRPpvw?editors=0012)
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
59
93
  参考になれば幸いです。

1

テキスト修正

2019/11/17 13:23

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  ```javascript
22
22
 
23
- var ids = str.match(/"\d"/g).map(s => +s.replace(/"/g, ''));
23
+ var list = str.match(/"\d"/g).map(s => +s.replace(/"/g, ''));
24
24
 
25
25
  ```
26
26
 
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- var ids = [...doc.querySelectorAll('div')].map(e => +e.id);
49
+ var list = [...doc.querySelectorAll('div')].map(e => +e.id);
50
50
 
51
51
  ```
52
52