const regex = new RegExp('(\\n|;|^)"([^";\\n]*?)"([^";\\n]+?)"([^";\\n]*?)"(\\n|;|$)', 'g')
const str = `A stable and simple RegEx, which escapes double-quotes (") in a CSV file.
## Tests ##
"Great thing?!*";"I love RegEx!";"And especially "regex101.com"!";"Just amazing..."
"Something090324*?!*";"Somethi"ng090"324*?!*";"Something090324*?!*";"Something090324*?!*"
Ignore"THIS"ItIsNotARealQuote?!*;"This"is"real!";HereIsNoQuoteSymbolAtAll;This"IsOnlyOneQuoteSymbol
CSV: Escape double-quotes (") in quoted
## Issues ##
- Does not support embedded line breaks, but you can easily modify it to support them. Note that they are currently forbitten to be more stable.
- Does only allow " for quoting. (Replace it in the whole RegEx to change this)
- Only works with ; as a separator. (Replace it in the whole RegEx to change this)
- Does not allow separator character inside of quotes string. Look at the following example:
"Example "string"";"works"
"Example "string";";"fails"
- Get's problems when the issue happens "too often", which means it shows up in cells which are directly side-by-side. You may work around this issue by running it multiple times:
"run 1 time ";"a string with a "small" issue";"and "another" one"
"run 2 times";"a string with a ""small"" issue";"and "another" one"
- It only works with quoted strings (no single " are escaped; only double ones)
## Changelog ##
v1.0 - 2016-01-25
- released
Author: rugk <rugk@posteo.de>`;
const subst = `\1"\2""\3""\4"\5`;
// 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