I have a regex pattern like this:
([0-9]*)xyz
I wish to do substitution like this:
$10xyz
The problem is that the $1
is a capture group and the 0
is just a number I want to put into the substitution. But regex thinks I'm asking for capture group $10
instead of $1
and then a zero after it.
How do I reference a capture group and immediately follow it with a number?
Using JavaScript in this case.
UPDATE As pointed out below, my code did work fine. The regex tester I was using was accidentally set to PCRE instead of JavaScript.
Your code indeed works just fine. In JavaScript regular expression replacement syntax $10
references capturing group 10
. However, if group 10
has not been set, group 1
gets inserted then the literal 0
afterwards.
var r = '123xyz'.replace(/([0-9]*)xyz/, '$10xyz');
console.log(r); //=> "1230xyz"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With