python - 在python的正则表达式中只保留“:”之后的数字
问题描述
我想提取下面每个参数的数字:
import re
parameters = '''
NO2: 42602
SO2: 42401
CO: 42101
'''
所需的输出应该是:['42602','42401','42101']
我第一次尝试re.findall(r'\d+',parameters)
,但它也从“NO2”和“SO2”返回“2”。
然后我尝试re.findall(':.*',parameters)
了,但它返回[': 42602', ': 42401', ': 42101']
如果我不能将“NO2”重命名为“二氧化氮”,有没有办法只收集右边的数字(“:”之后)?非常感谢。
解决方案
re.findall(r'(?<=:\s)\d+', parameters)
应该管用。look-behind
您可以从这里了解更多信息。
推荐阅读
- shell - 当输入来自重定向时,为什么 bufio.NewReader 不能正常工作?
- python - 通过 python 发送电子邮件中的图像在 iOS 上不显示
- php - 关于从我在 drupal 中的自定义注册表单发送的邮件
- tooltip - ag-grid 中的 ngbtoolTip 不会关闭 onscroll
- sql - 在 SQL Server 中 - 如何从字段中排除短语“Type I”,但包含“Type II”
- api - 处理 GoogleSheets 上 IMPORTJSON 脚本返回的多行
- databricks - 在数据块上安装 cudf
- javascript - lodash / fp getOr 的工作原理
- javascript - 通过单击堆叠的条形图打开选项卡
- excel - 自动连接过程