python - python正则表达式匹配具有多个分隔符的字符串中的六位数字
问题描述
我想找到所有带有多个分隔逗号、连字符和空格但不低于分数的六位数字。
例如:
string = "OS 2.2.0_cvr_test_648052_02 & v1.2.1_ab1_03, xyz-800239,test-434523,456345 902384"
所需输出:[800239,434523,456345,902384]
.
输出不应包含带有“下划线”的六位数字。从上面的字符串中,不应打印数字“648052”。
你能帮我找到更好的解决方案吗?
我有 re asre.findall('[-, ][0-9]{6}', string)
但它也打印分隔符。
解决方案
您可以使用lookbehind:
import re
string = "OS 2.2.0_cvr_test_648052_02 & v1.2.1_ab1_03, xyz-800239,test-434523,456345 902384"
new_string = list(map(int, re.findall('(?<=[^_])\d{6}', string)))
输出:
[800239, 434523, 456345, 902384]
推荐阅读
- impala - 我可以使用列名作为数据吗
- jdbc - Snowflake JDBC 驱动程序“在每个表上选择以摄取”权限
- python - Foursquare API 使用 Python 中的列表调用单个场所
- sql - Postgres/SQL 中针对保留关键字的列命名约定是什么?
- python - 使用python在复杂图像的白色边界上裁剪图像
- angular - 我如何获得 Angular 输入字段值?
- elasticsearch - ES 版本升级 | 5.X 至 7.X
- fortran - 使用不带 % 的 fortran 派生类型变量
- groovy - 如何创建一个 groovy 文件来搜索 PR 中的特定文件
- javascript - jquery自动检查带有数组中值的复选框