<p>Can someone provide a regular expression for parsing name/value pairs from a string?  The pairs are separated by commas, and the value can optionally be enclosed in quotes.  For example:</p>

<pre><code>AssemblyName=foo.dll,ClassName="SomeClass",Parameters="Some,Parameters"
</code></pre>

No escape:
```
```
/([^=,]*)=("[^"]*"|[^,"]*)/
```
```
Double quote escape for both key and value:
```
```
/((?:"[^"]*"|[^=,])*)=((?:"[^"]*"|[^=,])*)/

key=value,"key with "" in it"="value with "" in it",key=value" "with" "spaces
```
```
Backslash string escape:
```
```
/([^=,]*)=("(?:\\.|[^"\\]+)*"|[^,"]*)/

key=value,key="value",key="val\"ue"
```
```
Full backslash escape:
```
```
/((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\]+)*)/

key=value,key="value",key="val\"ue",ke\,y=val\,ue
```
```
Edit:
Added escaping alternatives.
Edit2:
Added another escaping alternative.
You would have to clean up the keys/values by removing any escape-characters and surrounding quotes.