const regex = /<slot-configuration slot-id="refinebar-slot-content" context="category" context-id="(.*)" configuration-id="(.*?)"( default="(?:.*)?")? assigned-to-site="(.*)">\s*<template>(.*)<\/template>\s*<enabled-flag>(.*)<\/enabled-flag>\s*<content>\s*<content-assets>(\s*<content-asset content-id=".*"\/>)*\s*<content-asset content-id="(seo-.*)"\/>\s*(?:<content-asset content-id=".*"\/>\s*)*<\/content-assets>\s*<\/content>(\s*<customer-groups>(?:\s*<customer-group group-id=".*"\/>)+\s*<\/customer-groups>|.*)?\s*<\/slot-configuration>/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<slot-configuration slot-id="refinebar-slot-content" context="category" context-id="(.*)" configuration-id="(.*?)"( default="(?:.*)?")? assigned-to-site="(.*)">\\s*<template>(.*)<\\\/template>\\s*<enabled-flag>(.*)<\\\/enabled-flag>\\s*<content>\\s*<content-assets>(\\s*<content-asset content-id=".*"\\\/>)*\\s*<content-asset content-id="(seo-.*)"\\\/>\\s*(?:<content-asset content-id=".*"\\\/>\\s*)*<\\\/content-assets>\\s*<\\\/content>(\\s*<customer-groups>(?:\\s*<customer-group group-id=".*"\\\/>)+\\s*<\\\/customer-groups>|.*)?\\s*<\\\/slot-configuration>', 'gm')
const str = ` <slot-configuration slot-id="refinebar-slot-content" context="category" context-id="sport-garcon" configuration-id="seo-boutique-sport-garcon-2" default="true" assigned-to-site="true">
<template>slots/content/htmljustcontent.isml</template>
<enabled-flag>true</enabled-flag>
<content>
<content-assets>
<content-asset content-id="seo-boutique-bbf-2"/>
<content-asset content-id="account-menu-content-management"/>
<content-asset content-id="seo-boutique-sport-garcon"/>
</content-assets>
</content>
</slot-configuration> `;
const subst = `$0 <slot-configuration slot-id="mobile-refinebar-slot-content" context="category" context-id="$1" configuration-id="$2-mobile"$3 assigned-to-site="$4"> <template>$5</template> <enabled-flag>$6</enabled-flag> <content> <content-assets> <content-asset content-id="$8"/> </content-assets> </content>$9 </slot-configuration>`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions