如何使用正则表达式来分割(或匹配)这个字符串:
基本格式是
我想得到的结果是:
生成以下匹配项:
这里有没有正则表达式高手?
a=1,b=2,c=3,4,5,d=6,e=x,y,z
基本格式是
名称=值,名称=值
,其中值可以包含逗号,名称始终是字母数字。我想得到的结果是:
a=1
b=2
c=3,4,5
d=6
e=x,y,z
我的第一反应是语法模糊,因为这些值包含逗号,但我认为应该是可行的,因为名称不包含=
。
这很接近,但它将尾随逗号与每个值匹配,并且不匹配最后一个z
:
(?<name>\w+)
\s*=\s*
(?<value>
\S
(?:
,
|
.[^=]
)*
)
生成以下匹配项:
a=1,
b=2,
c=3,4,5,
d=6,
e=x,y,
这里有没有正则表达式高手?
([^=]+)=([^=]+)(?:,|$)
(与你的相似度不太大)。 - ig0774