const regex = new RegExp('("(?:\\\\.|[^"\\\\])*"|\\'(?:\\\\.|[^\\'\\\\])*\\'|(?:[^/\\n"\\']|/[^/*\\n"\\'])+|\\n)|(/\\* (?:[^*]|\\*[^/])*\\*/)|(?://(.*)$)$', 'gm')
const str = `//Bienvenue sur ma carte!
//Par Samuel "Déjeuner d'aujourd'hui" Lapointe
MAP {
CONFIG: 'ON_MISSING_DATA' 'IGNORE'
##CONFIG: "MS_ERRORFILE" "../debugFile.log"
CONFIG: 'PROJ_LIB' '../'
FONTSET: '../fonts.lst'
IMAGETYPE: png
MAXSIZE: 4000
SIZE: 800 800
UNITS: meters
EXTENT: -20405648.939901 -17712669.979681 20314497.045109 19408951.476421
IMAGECOLOR: '#C6E2F2'
SHAPEPATH: '../pdata/natural_earth/'
WEB {
METADATA {{
"ows_enable_request" "*"
"wms_srs" "EPSG:900913 EPSG:4326 EPSG:3857"
"labelcache_map_edge_buffer" "10"
"wms_title" "grid"
"wms_onlineresource" "http://mapserver.com:8081/cgi-bin/mapserv?map=/opt/scribeui/workspaces/blabla.map" //Un lien!
}}
IMAGEPATH: '/tmp/ms_tmp/'
IMAGEURL: '/ms_tmp/'
}
DEBUG: 5
PROJECTION {{
"init=epsg:900913"
}}
INCLUDE: '../symbols.map'
}//C'est la fin!
`;
const subst = `\1`;
// 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