![](/img/trans.png)
[英]How to use extract a list of keys with specific pattern from dict in python?
[英]can't extract a specific pattern from a list using Python and re
我有一堆包含这些类型的值的列表:
('CDI - AB - MO - id3 - Mobile', '2018-01-12', '48,67')
我只对以“ id”开头的值加上其后的数字感兴趣。
例如,我想从此列表中提取“ id3”
('CDI - AB - MO - id3 - Mobile', '2018-01-12', '48,67')
或来自的“ id33”
('CDI - AC - MO - id33 - Mobile', '2018-01-12', '48,67')
感谢re库,我正在努力实现这一目标
这是我的代码:
matchObj = re.search( r'id*', my_list, re.M|re.I)
您有什么建议可以帮助您返回所需的值吗?
谢谢
您可以使用Regex模式:
\bid\d+\b
\\b
匹配单词末尾的空字符串(零宽度)
id
Macthes id
字面意思
\\d+
匹配一个或多个数字
例:
In [113]: t1 = ('CDI - AB - MO - id3 - Mobile', '2018-01-12', '48,67')
In [114]: t2 = ('CDI - AC - MO - id33 - Mobile', '2018-01-12', '48,67')
In [115]: pat = re.compile(r'\bid\d+\b')
In [119]: [pat.search(i).group() for i in t1 if pat.search(i)]
Out[119]: ['id3']
In [120]: [pat.search(i).group() for i in t2 if pat.search(i)]
Out[120]: ['id33']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.