gpt4 book ai didi

python - 如何获取列表中标签的版本号

转载 作者:行者123 更新时间:2023-12-01 05:10:47 24 4
gpt4 key购买 nike

我正在尝试在下面的列表中 grep“INCLUDED IN TEAM_COM_BUILD”并获取 COM_CNSS_BT_LNX.LA.3.6.1.00.00.032 的版本,在本例中为“32”,预期输出为 32 但遇到以下错误?如何修复它吗?

import re
comments = [{u'timestamp': 1403046914, u'message': u'Patch Set 1: Looks good to me, but someone else must approve\n\nThis patchset has been processed by the service.', u'reviewer': {u'username': u'service', u'name': u'service Service Account', u'email': u'service@localhost'}}, {u'timestamp': 1403051700, u'message': u'Patch Set 1: Developer Build and Test COMccessful\n\nINCLUDED IN TEAM_COM_BUILD: COM_CNSS_BT_LNX.LA.3.6.1.00.00.032\n\nhttp://qwiki.company.com/div_wcnss/COM_CNSS_BT_LNX.LA.3.6.1.00.00.032', u'reviewer': {u'username': u'user2', u'name': u'USER Prakash Soy', u'email': u'user2@div.company.com'}}, {u'timestamp': 1403052176, u'message': u'Patch Set 1: Looks good to me, approved\n\n', u'reviewer': {u'username': u'username', u'name': u'Alekhya Damera', u'email': u'username@div.company.com'}}]
matchobj = re.search("INCLUDED IN TEAM_COM_BUILD: (\s*)$", str(comments), re.MULTILINE)
print matchobj
build = matchobj.group(1)
print build

chunks = build.split('.')
print chunks

last_one = chunks[-1]
print last_one

错误:-

Traceback (most recent call last):
File "su_version.py", line 5, in <module>
build = matchobj.group(1)
AttributeError: 'NoneType' object has no attribute 'group'

最佳答案

你的正则表达式是错误的。这个可以工作:

matchobj = re.search(r"INCLUDED IN TEAM_COM_BUILD: \S+\.(\d+)\\n", str(comments))

它将贪婪地匹配 INCLUDED IN TEAM_COM_BUILD 之后的非空白字符直到达到 .字符,后跟一个或多个数字(在匹配组中捕获),后跟换行符。这就是你想要的。

编辑:

为了回复您的评论,您可以使用它来匹配两种模式:

matchobj = re.search(r"INCLUDED IN TEAM_COM_BUILD:\s+\S+?\.(?:\d+\.){5}(\d+)(?:\.\d+)?", str(comments))

这匹配 5 个连续 \S+ 的第一个实例(它返回第一个实例,因为我们非贪婪地匹配 \S+? ,使用 <one or more digit>. )组,后跟一个或多个数字(在一组中捕获),可选后跟 .<one or more digits>?:括号内的字符表示该组是非捕获的,?括号后将该组标记为可选。

关于python - 如何获取列表中标签的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275827/

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