re = /(\s*)(.*),?\n/m
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)
'
subst = '$1"$2 "\\\\\\n'
result = str.gsub(re, subst)
# Print the result of the substitution
puts 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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html