[英]regexp parse multiple key pair values with delimiter that might be part of the value pair
我无法从字符串中获取每个密钥对值的组。 输入字符串类似于:
sample1= "key1.1=val1,key2=2,key3=3,key4=last"
预期 4 组: key1.1=val1
key2=2
key3=3
key4=last
但也有可能
sample2= "key1.1=val11,key2.1=2,1,key33=3,key44=last"
请注意,在sample2
中, key2.1
的值为2,1
预期 4 组: key1.1=val11
key2.1=2,1
key33=3
key44=last
我无法获取所有组并专门处理分隔符的情况,
对之间也可以是一个键的值的一部分。
我正在尝试类似: (?:^|,)([^=,]+)=([^=,]+)(?:,|$)
您可以拆分逗号,逗号后跟一个或多个除逗号以外的字符,后跟一个等号。 也就是说,根据正则表达式的匹配进行拆分
,(?=[^,]+=)
您用于在此表达式的匹配项上拆分字符串的方法或函数取决于您使用的语言,但您尚未指定。 例如,在 Ruby 中,你会写
"key1.1=val11,key2.1=2,1,key33=3,key44=last".split(/,(?=[^,]+=)/)
#=> ["key1.1=val11", "key2.1=2,1", "key33=3", "key44=last"]
表达式可以分解如下。
, # match a comma
(?= # begin a positive lookahead
[^,]+ # match one or more characters other than commas
= # match an equal sign
) # end positive lookahead
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.