const regex = /(\s*)(.*),?\n/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(\\s*)(.*),?\\n', 'gm')
const str = `MERGE
market-data-351917.cobi_live_analytics.staging_blackrock_benchmark_security AS TARGET
USING
(
SELECT
security_id,
effective_begin_timestamp,
etl_job_id,
record_digest,
benchmark_source_name,
corporate_benchmark_flag,
corporate_benchmark_weight,
investment_grade_flag,
high_yield_flag
FROM
market-data-351917.cobi_live_analytics.security_corporate_benchmark_attributes AS a
LEFT JOIN (
SELECT
security_id,
corporate_benchmark_effective_begin_timestamp,
corporate_benchmark_record_digest
FROM
market-data-351917.cobi_live_analytics.security_current) AS b
USING
(security_id)
WHERE
a.corporate_benchmark_flag = TRUE
AND a.effective_begin_timestamp = b.corporate_benchmark_effective_begin_timestamp
AND a.benchmark_source_name = 'us_corporate_bond_ucits_etf') AS SOURCE
ON
target.security_id = source.security_id
WHEN NOT MATCHED
THEN
INSERT
(security_id,
effective_begin_timestamp,
etl_job_id,
corporate_benchmark_record_digest,
benchmark_source_name,
corporate_benchmark_flag,
corporate_benchmark_weight,
investment_grade_flag,
high_yield_flag)
VALUES
(source.security_id, source.effective_begin_timestamp, source.etl_job_id, source.record_digest, source.benchmark_source_name, FALSE, source.corporate_benchmark_weight, source.investment_grade_flag, source.high_yield_flag)
`;
const subst = `$1"$2 "\\\n`;
// 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