求取出关键字的正则表达式
[{u'hosts': [{u'hostid': u'18102'}], u'groupid': u'9'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'14'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'18'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'32'}]如上的例子,我想取出所有关键字groupid后面的数字,想要输出:9,14,18,32...但是groupid数量不定,可能是1个,3个或者多个,我的目的是有多少个就取多少个,然后打印出来, 怎么实现这样的正则呢?
回复 1# jeffinier
l=[{u'hosts': [{u'hostid': u'18102'}], u'groupid': u'9'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'14'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'18'}, {u'hosts': [{u'hostid': u'18102'}], u'groupid': u'32'}]
for i in l:
for k,v in i.items():
if k == "groupid":print v
[ i['groupid'] for i in l if i.has_key('groupid')] 将符合 'groupid': u'9' 模式的字符串放入一个数组, 打印下就行了.
页:
[1]