我有一个字符串列表,如下所示:

['MEASUREMENT   K02313  New York',\
 'MEASUREMENT   K02338  London [BC:2.7.7.7]',\
 'MEASUREMENT   K14761  Kairo [BC:1.2.-.-]',\
 'MEASUREMENT   K03629  Berlin',\
 'MEASUREMENT   K02470  Paris [BC:5.6.2.-]',\
 'MEASUREMENT   K02469  Madrid [BC:5.43.2.2]',\
....]

As you can see some elements in the list have a string with the format BC:x.x.x.x, with x either being a number from 0-999 or a hyphen ("-").
Now I want to get a seperate list that has all of these BC:x.x.x.x elements saved.
I tried using a regular expression:

re.findall(r"BC:([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|-).([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|-).([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|-).([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|-)", list_name)

但它不起作用,我收到以下错误消息:

TypeError: expected string or bytes-like object

推荐答案

您的代码无法工作,因为您当前正在向re.findall方法传递一个字符串元组.如果要使用单个命令,请将字符串元组转换为单个字符串:

re.findall(r"BC:[\d\.]+", ' '.join(list_name))

Python相关问答推荐

我从带有langchain的mongoDB中的vector serch获得一个空数组

沿着数组中的轴计算真实条目

Pandas - groupby字符串字段并按时间范围 Select

如何从.cgi网站刮一张表到rame?

如何使用它?

Pandas—在数据透视表中占总数的百分比

使用NeuralProphet绘制置信区间时出错

在Python中使用if else或使用regex将二进制数据如111转换为001""

为什么if2/if3会提供两种不同的输出?

如何排除prefecture_related中查询集为空的实例?

Maya Python脚本将纹理应用于所有对象,而不是选定对象

使用__json__的 pyramid 在客户端返回意外格式

Python 3试图访问在线程调用中实例化的类的对象

如何从比较函数生成ngroup?

如何使用pytest在traceback中找到特定的异常

SpaCy:Regex模式在基于规则的匹配器中不起作用

来自Airflow Connection的额外参数

如何在Python中实现高效地支持字典和堆操作的缓存?

两个名称相同但值不同的 Select 都会产生相同的值(discord.py)

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?