51273


`<a class="url" href="https://hoge1/123456789/hoge2/">123456789</a>`

こういうモノがあったとして、『hoge1』と『hoge2』を書き換えたいのですが  
『123456789』はランダム英数字になるので

[code]

    var target, i, l = document.links.length;
    for (i = 0; i < l; i++) {
      target = document.links[i].href;
      document.links[i].href = target.replace(/hoge1\/123456789\/hoge2\//, "hoge3/123456789/hoge4/");
    }
    
[/code]

これでは出来ません  
そこで置換の際の英数字(123456789)を置換後にも持って行きたいのですがどうすれば良いですか？


CC BY-SA 4.0
2018-12-16T18:11:34.233
51269
2018-12-17T00:43:30.647
2018-12-17T00:38:23.717
3060
31483
question
javascript 正規表現
URLの正規表現を用いた置換を教えてください


"ランダムな数字"は`[0-9]+`の正規表現で"数字1桁以上"として表せ、この部分を`()`で囲んでおくと置換部分にて`$1`で参照することができます。`()`のペアが増えるたびに`$1`,
`$2`と数字部分が増えていく。  
まとめると、

[code]

    target.replace(/hoge1\/([0-9]+)\/hoge2\//, "hoge3/$1/hoge4/");
    
[/code]


CC BY-SA 4.0
2018-12-17T00:43:30.647
51273
2018-12-17T00:43:30.647
3060
51269
answer