【发布时间】:2018-02-21 05:16:50
【问题描述】:
我有以下字符串
"h=56,7,1,d=88,9,1,h=58,8,1,d=45,h=100,d=,"
我想使用正则表达式来提取组:
- group1 56,7,1
- group2 88,9,1
- group3 58,8,1
- group4 45
- group5 100
- group6 为空
我的最终目标是拥有 (group1, group2), (group3, group4), (group5, group6) 这样的元组。我不确定这一切是否可以通过正则表达式来完成。
我有以下正则表达式给我部分结果
(?<=h=|d=)(.*?)(?=h=|d=)
匹配项末尾有一个额外的逗号,例如 56,7,1,,我想删除它,而 d=, 没有返回空值。
【问题讨论】:
-
你为什么坚持用正则表达式提取这些?如果您要在 = 上拆分,然后将其中每个的 RHS 拆分为逗号,该怎么办。遍历 enumerate() 以跳过第一个并使用每个 [:-1] 来丢弃(显然不需要的)“d”和“h”标签。
-
我猜是因为他们有 11 个声誉,这表明他们对 python 不熟悉,他们只需要将它用于这个特定的任务。