有人可以提供一个正则表达式来解析字符串中的名称/值对吗?这些对由逗号分隔,该值可以可选地用引号括起来。例如:
AssemblyName=foo.dll,ClassName="SomeClass",Parameters="Some,Parameters"@H_301_2@
>不逃避:
/([^=,]*)=("[^"]*"|[^,"]*)/@H_301_2@>键和值的双引号转义:
/((?:"[^"]*"|[^=,])*)=((?:"[^"]*"|[^=,])*)/ key=value,"key with "" in it"="value with "" in it",key=value" "with" "spaces@H_301_2@>反斜杠字符串转义:
/([^=,]*)=("(?:\\.|[^"\\]+)*"|[^,"]*)/ key=value,key="value",key="val\"ue"@H_301_2@>全反斜杠逃脱:
/((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\]+)*)/ key=value,key="val\"ue",ke\,y=val\,ue@H_301_2@您必须通过删除任何转义字符和周围的引号来清除键/值。