JSFiddle - React, Tailwind, and code Playground
HTML
<div>
<table id='matches'>
</table>
</div>
CSS
table, th, td {
border: 1px solid black;
}
JavaScript
var regex1 = /^"([\x00-!#-[\]-\x7f]|\\")*"$/;
var regex2 = /^"([\x00-!#-[\]-\x7f]*(\\"[\x00-!#-[\]-\x7f]*)*)"$/;
function run() {
var str = '"foo \\"bar\\" baz"';
var r1 = regex1.exec(str);
var r2 = regex2.exec(str);
var row = $('<tr/>')
.append($('<td/>').text(!!r1))
.append($('<td/>').text(r1[0]))
.append($('<td/>').text(r1[1]));
$('#matches').append(row);
row = $('<tr/>')
.append($('<td/>').text(!!r2))
.append($('<td/>').text(r2[0]))
.append($('<td/>').text(r2[1]))
.append($('<td/>').text(r2[2]));
$('#matches').append(row);
}
run();