First of all, it looks like you want to deal with nested quotes. In my opinion, regular expressions are not really good for that. It can get complicated to nest something, it can get really really complicated to nest two levels, and possibly, it is likely impossible to deal with in terms of complexity, if you want to nest an unlimited number of levels.
Also, second, can you deal with the quotes? For example, is the second quote a nested quote? Or does it close the first quote? How about the third quote? Or the fourth? Before you are able to create the regex for it, you probably need to better define it first.
Maybe regex is not what I want. Basically I can receive a string " "John" "Doe"" or "@John Doe#" in my program. The only thing I know is that a blank space will always separate them.
I want these two separate strings broken up into an array. So above examples would look like below: