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

回答編集履歴

5

ソース修正

2018/06/28 10:00

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -5,30 +5,34 @@
5
5
  以下になります。
6
6
 
7
7
  ```javascript
8
- str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
8
+ str.replace(/number=\d+(,\d+)*/, 'number=01');
9
9
  ```
10
10
 
11
- 以下、上記をテストするコードです。(同じものを [https://jsfiddle.net/jun68ykt/nqhgxfw8/19/](https://jsfiddle.net/jun68ykt/nqhgxfw8/19/) にも上げました)
11
+ 以下、上記をテストするコードです。(同じものを [https://jsfiddle.net/jun68ykt/nqhgxfw8/22/](https://jsfiddle.net/jun68ykt/nqhgxfw8/22/) にも上げました)
12
12
 
13
13
  ```javascript
14
+ // 変換対象の正規表現
15
+ const regex = /number=\d+(,\d+)*/;
16
+
14
17
  // 変換される例1
15
18
  var str = 'index.htm?id=01&name=john&number=11,21,32&class=01';
16
- var result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
19
+ var result = str.replace(regex, 'number=01');
17
20
 
18
21
  console.log(result); // => index.htm?id=01&name=john&number=01&class=01
19
22
 
20
23
  // 変換される例2
21
24
  str = 'index.htm?id=01&name=john&number=11&class=01';
22
- result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
25
+ result = str.replace(regex, 'number=01');
23
26
 
24
27
  console.log(result); // => index.htm?id=01&name=john&number=01&class=01
25
28
 
26
29
  // 変換されない例
27
30
  str = 'index.htm?id=01&name=john&number=AA,BB,CC&class=01';
28
- result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
31
+ result = str.replace(regex, 'number=01');
29
32
 
30
33
  console.log(result); // => index.htm?id=01&name=john&number=AA,BB,CC&class=01
31
34
 
35
+
32
36
  ```
33
37
 
34
38
  以上参考になれば幸いです。

4

テキスト修正

2018/06/28 10:00

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
9
9
  ```
10
10
 
11
- 以下、上記をテストするコードです。(同じものを [https://jsfiddle.net/jun68ykt/nqhgxfw8/18/](https://jsfiddle.net/jun68ykt/nqhgxfw8/18/) にも上げました)
11
+ 以下、上記をテストするコードです。(同じものを [https://jsfiddle.net/jun68ykt/nqhgxfw8/19/](https://jsfiddle.net/jun68ykt/nqhgxfw8/19/) にも上げました)
12
12
 
13
13
  ```javascript
14
14
  // 変換される例1

3

ソース修正

2018/06/28 02:10

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -18,14 +18,14 @@
18
18
  console.log(result); // => index.htm?id=01&name=john&number=01&class=01
19
19
 
20
20
  // 変換される例2
21
- var str = 'index.htm?id=01&name=john&number=11&class=01';
21
+ str = 'index.htm?id=01&name=john&number=11&class=01';
22
- var result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
22
+ result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
23
23
 
24
24
  console.log(result); // => index.htm?id=01&name=john&number=01&class=01
25
25
 
26
26
  // 変換されない例
27
- var str = 'index.htm?id=01&name=john&number=AA,BB,CC&class=01';
27
+ str = 'index.htm?id=01&name=john&number=AA,BB,CC&class=01';
28
- var result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
28
+ result = str.replace(/number=[\d]+(,[\d]+)*/, 'number=01');
29
29
 
30
30
  console.log(result); // => index.htm?id=01&name=john&number=AA,BB,CC&class=01
31
31
 

2

テキスト修正

2018/06/28 02:09

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  こんにちは。
2
2
 
3
- **number=数字** だったり、 **number=数字,数字,数字** のように、 number パラメータの値が
3
+ **"number=数字"** だったり、 **"number=数字,数字,数字"** のように、 number パラメータの値が
4
- 「1個以上の、カンマで区切られた数字」であるとき**のみ**、 "01" に置き換えたいのであれば、
4
+ 「1個以上の、カンマで区切られた数字」であるとき**のみ**、 **"number=01"** に置き換えたいのであれば、
5
5
  以下になります。
6
6
 
7
7
  ```javascript

1

テキスト修正

2018/06/28 02:03

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,4 +1,4 @@
1
- ちなみ
1
+ こんちは。
2
2
 
3
3
  **number=数字** だったり、 **number=数字,数字,数字** のように、 number パラメータの値が
4
4
  「1個以上の、カンマで区切られた数字」であるとき**のみ**、 "01" に置き換えたいのであれば、