const regex = /(?:\"(?:(?<=\"(?=[^\n]))[^\n]+?(?=(?<!\\))(?=\"))?\")|(\B'(?:(?<='(?=[^\n]))[^\n]+?(?=(?<!\\))(?='))?')/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:\\"(?:(?<=\\"(?=[^\\n]))[^\\n]+?(?=(?<!\\\\))(?=\\"))?\\")|(\\B\'(?:(?<=\'(?=[^\\n]))[^\\n]+?(?=(?<!\\\\))(?=\'))?\')', 'gm')
const str = `
1. Valid double-quoted strings:
   - "Hello"
   - "This is a test"
   - "123"
   - "Special characters: @#\$%^&*()_+"
   - "Escape sequence: \\n"
2. Valid double-quoted strings with additional characters or variables:
   - " test aaaaa \\" " + asdf
   - " test " + ( "aaaaa" ) + gdf
   - " test \\" " + \`" aaaa " + dfg
   - " test ' aaaaa \\" " + dfg
   - ""
3. Valid double-quoted strings with special characters:
   - "sas''as\\"a1\\'2 ! -_?:sa"
   - "''"
   - "\\abnb\\ajhgf\\crt098& \\"'"
4. Invalid double-quoted strings:
   - " test " + ( "aaaaa" )   \\"     saf
   - "\\\\ + \\* test " \\\$ \\.         dsdfs
   - (\\" test \\" " + " aaaa "      sfgd
   - ' test ' + aas ( "aaaaa" ) + '\\   sd
   - '\\\\ + \\* test '               \\\$ \\. trace
   - (' test '  as ' + '               aaaa '
   - '""'
   - '"sas'
   - 'ads'
   - 'asdasd\\"asdsa'
   - "klkl"klkl
   - "asa\\'sasa\\\\"
   - \\'\\\\\\'
   - "hhhh"klkl"
   - 'jkjkjk'klklk'
   - '\\"\\\\\\"'
   - ''
   - '\\"asa\\'sasa\\\\\\"'
   - "sasasasa\\\\\\\\\\\\"
1. Valid single-quoted strings:
   - 'Hello'
   - 'This is a test'
   - '123'
   - 'Special characters: @#\$%^&*()_+'
   - 'Escape sequence: \\n'
2. Valid single-quoted strings with additional characters or variables:
   - ' test aaaaa \\' ' + asdf
   - ' test ' + ( 'aaaaa' ) + gdf
   - ' test \\' ' + ' aaaa' + dfg
   - ' test " aaaaa \\' ' + dfg
   - ''
3. Valid single-quoted strings with special characters:
   - 'sas""as\\'a1\\"2 ! -_?:sa'
   - '""'
   - '\\abnb\\ajhgf\\crt098& \\'""'
4. Invalid single-quoted strings:
   - ' test ' + ( 'aaaaa' )   \\'     saf
   - '\\\\ + \\* test ' \\\$ \\.         dsdfs
   - (\\' test \\' + ' aaaa '      sfgd
   - " test \\" " + " aaaa "      sfgd
   - ' test ' + aas ( 'aaaaa' ) + '\\   sd
   - '\\\\ + \\* test '               \\\$ \\. trace
   - (' test '  as ' + '               aaaa '
   - "''"
   - 'sas"
   - "ads'
   - 'asdasd\\'asdsa'
   - "klkl"klkl
   - "asa\\'sasa\\\\"
   - \\'\\\\\\'
   - 'hhhh"klkl\\'\\
   - \\'jkjkjk"klklk'
   - "\\'\\\\\\'"
   - ''
   - '\\"asa\\'sasa\\\\\\"'
   - 'sasasasa\\\\\\\\\\\\'
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}
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