$re = '/(?:\"(?:(?<=\"(?=[^\n]))[^\n]+?(?=(?<!\\\\))(?=\"))?\")|(\B\'(?:(?<=\'(?=[^\n]))[^\n]+?(?=(?<!\\\\))(?=\'))?\')/m';
$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\\\\\\\\\\\\\'
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php