我想找到所有六个数字,多个逗号,连字符和空格分隔,但不低于分数。
例如:
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.findall('[-, ][0-9]{6}', string)
为名,但它也显示分隔符。
答案 0 :(得分:0)
您可以使用后向功能:
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]
答案 1 :(得分:0)
类似的事情应该起作用(?<=[-, ]|^)\d{6}(?=[-, ]|$)