regex – 如何使用正则表达式提取键值对?

前端之家收集整理的这篇文章主要介绍了regex – 如何使用正则表达式提取键值对?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说实话,我正在努力处理我需要提取部分字符序列的正则表达式.该序列包含用/字符括起来的键对和值对.所以这对可以是/ KEY / VALUE /,也可以是/ KEY / VAL / UE /.这对在序列中彼此相邻.

@H_403_8@

我们来看一下示例序列:@H_403_8@

@H_403_8@

/ABCD/value1//ECFG/value2//HIJK/value3a/value3b/@H_403_8@

我想要做的是获取键值对的列表,如下所示:@H_403_8@

@H_403_8@

ABCD -> value1@H_403_8@

ECFG -> value2@H_403_8@

HIJK -> value3a/value3b@H_403_8@

解决方法

这应该工作:

@H_403_8@

@H_403_8@

/(.+?)/(.+?)/(?=/|$)

第一个paren将捕获密钥,第二个paren将捕获该值.
前瞻匹配第二个/,表示新的键/值对或最后一个键/值对的字符串结尾.@H_403_8@

编辑:这里有一些python代码:@H_403_8@

@H_403_8@

s = "/ABCD/value1//ECFG/value2//HIJK/value3a/value3b/"
re.findall('/(.+?)/(.+?)/(?=/|$)',s)
# [('ABCD','value1'),('ECFG','value2'),('HIJK','value3a/value3b')]

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