I need to find a substring surrounded by double quotes, for example, like `"test"`, `"te\"st"` or `""`, but not `"""` neither "\". To achieve this, which is the best way to go for it in the following

```
1) /".*"/g
2) /"[^"\\]*(?:\\[\S\s][^"\\]*)*"/g
3) /"(?:\\?[\S\s])*?"/g
4) /"([^"\\]*("|\\[\S\s]))+/g

```

I was asked this question yesterday during an interview, and would like to know the answer for future reference.