加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:00:06 所属栏目:百科 来源:网络整理
导读:说实话,我正在努力处理我需要提取部分字符序列的正则表达式.该序列包含用/字符括起来的键对和值对.所以这对可以是/ KEY / VALUE /,也可以是/ KEY / VAL / UE /.这对在序列中彼此相邻. 我们来看一下示例序列: /ABCD/value1//ECFG/value2//HIJK/value3a/value
说实话,我正在努力处理我需要提取部分字符序列的正则表达式.该序列包含用/字符括起来的键对和值对.所以这对可以是/ KEY / VALUE /,也可以是/ KEY / VAL / UE /.这对在序列中彼此相邻.

我们来看一下示例序列:

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

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

ABCD -> value1

ECFG -> value2

HIJK -> value3a/value3b

解决方法

这应该工作:

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读