You do know that all capture groups are passed to the function, right? You can write your second example like this, even though the capture groups are totally useless:
``` input.replace( /your (\w+) from (\w+)/g, (whole, a, b) => 'your book from amazon' ); ``` On Fri, Sep 7, 2018, 07:23 sion <[email protected]> wrote: > > Is it possible to enhance the string.prototype.replace(regex, func) ? > > By now, we can do something like this: > > input.replace(/(^|_)[a-z]/g, a => a[a.length - 1].toUpperCase()); > > INPUT: ab_cd_ef OUTPUT: abCdEf > > > > However, i want something more powerfull, like this: > > input.replace(/your (\w+) from (\w+)/g, a => 'book', b => 'amazon’); > > INPUT: your friend from china OUTPUT: your book from amazon > > > As you can see, I just want the replace could replace multi fragments at > the same time. And I don’t think there is any conflicts with other > principles of string.prototype.replace. > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

