gpt4 book ai didi

python - 无法使用 Python 和 re 从列表中提取特定模式

转载 作者:行者123 更新时间:2023-12-01 02:17:37 25 4
gpt4 key购买 nike

我有一堆包含这些类型值的列表:

('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)

您有什么建议可以帮助返回所需的值吗?

谢谢

最佳答案

您可以使用正则表达式模式:

\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']

关于python - 无法使用 Python 和 re 从列表中提取特定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48249235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com