正则表达式 – 用于解析名称值对的正则表达式

前端之家收集整理的这篇文章主要介绍了正则表达式 – 用于解析名称值对的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以提供一个正则表达式来解析字符串中的名称/值对吗?这些对由逗号分隔,该值可以可选地用引号括起来。例如:
AssemblyName=foo.dll,ClassName="SomeClass",Parameters="Some,Parameters"
>不逃避:
/([^=,]*)=("[^"]*"|[^,"]*)/

>键和值的双引号转义:

/((?:"[^"]*"|[^=,])*)=((?:"[^"]*"|[^=,])*)/

key=value,"key with "" in it"="value with "" in it",key=value" "with" "spaces

>反斜杠字符串转义:

/([^=,]*)=("(?:\\.|[^"\\]+)*"|[^,"]*)/

key=value,key="value",key="val\"ue"

>全反斜杠逃脱:

/((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\]+)*)/

key=value,key="val\"ue",ke\,y=val\,ue

编辑:添加转义替代方法

Edit2:添加了另一个转义替代方法

您必须通过删除任何转义字符和周围的引号来清除键/值。

原文链接:https://www.f2er.com/regex/357482.html

猜你在找的正则表达式相关文章