const regex = /,{0,1} \w+.(\w+), \w+.(\w+)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp(',{0,1} \\w+.(\\w+), \\w+.(\\w+)', 'gm')
const str = ` v1.VAC_ID, v2.VAC_ID
, v1.PAC_ID, v2.PAC_ID
, v1.ICL_CPI, v2.ICL_CPI
, v1.VAC_TVA, v2.VAC_TVA
, v1.TVA_SID, v2.TVA_SID
, v1.VAC_DAD, v2.VAC_DAD
, v1.VAC_DAD_A, v2.VAC_DAD_A
, v1.VAC_DAD_M, v2.VAC_DAD_M
, v1.VAC_DAD_H, v2.VAC_DAD_H
, v1.VAC_DOS, v2.VAC_DOS
, v1.VAC_CPV, v2.VAC_CPV
, v1.VAC_TAC, v2.VAC_TAC
, v1.VAC_OIN, v2.VAC_OIN
, v1.PRO_ID, v2.PRO_ID
, v1.RCV_ID, v2.RCV_ID
, v1.ID_HORA, v2.ID_HORA
, v1.COUNT, v2.COUNT
, v1.ASS_SEXE, v2.ASS_SEXE
, v1.ASS_DNA, v2.ASS_DNA
, v1.ASS_DNA_A, v2.ASS_DNA_A
, v1.EDAT, v2.EDAT
, v1.UPR_CUP, v2.UPR_CUP
, v1.UPR_CUP_T, v2.UPR_CUP_T
, v1.PAC_NIA, v2.PAC_NIA
, v1.ASS_CSA, v2.ASS_CSA
, v1.ICL_UP, v2.ICL_UP
, v1.ICL_BAC, v2.ICL_BAC
, v1.ICP_UP_ORIGINAL, v2.ICP_UP_ORIGINAL
, v1.VAC_DED, v2.VAC_DED
, v1.VAC_DED_TRUNC, v2.VAC_DED_TRUNC
, v1.ICL_BAD, v2.ICL_BAD
, v1.ICL_BAD_TRUNC, v2.ICL_BAD_TRUNC
, v1.COUNT_ACTIUS, v2.COUNT_ACTIUS
, v1.VAC_LOT, v2.VAC_LOT
, v1.VAC_VIA, v2.VAC_VIA
, v1.VAC_DCV, v2.VAC_DCV
, v1.VAC_LAD, v2.VAC_LAD
, v1.VAC_MNV, v2.VAC_MNV
, v1.VAC_GPE, v2.VAC_GPE
, v1.VAC_GPV, v2.VAC_GPV
, v1.VAC_MCO, v2.VAC_MCO
, v1.TSI_LOCALITAT, v2.TSI_LOCALITAT
, v1.TSI_CPOSTAL, v2.TSI_CPOSTAL
, v1.PAC_CIP, v2.PAC_CIP
, v1.VAC_DAD_TRUNC, v2.VAC_DAD_TRUNC`;
const subst = `or decode(v1.$1, v2.$2, 1, 0) = 0`;
// 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