Python正则表达式查找连接的数字



我有原始的txt文件,需要使用regex来搜索每个用空格分隔的数字。

问题,数据格式如下:

6   3   1   0
7   3   1   0
8   35002   0
9   34104   0

我的正则表达式是:

(?P<COORD>d+)

前两行的匹配输出为(6,3,1,0(和(7,3,1,0。然而,它不适用于最后两行,它们的输出分别是(835002,0(和(934104,0(。正确的分组编号应该是(8,3,5002,0(和(9,3,4104,0(。我该如何解决这个问题?

如果数字对齐并且列的宽度固定,你可以使用

width = 4
for line in lines:
columns = [ line[j: j + width] for j in range(0, len(line), width)]
numbers = list(map(lambda x: int(x.strip()), columns))
# or a one liner
print(list(int(line[j:j+width].strip()) for j in range(0, len(line), width)))

最新更新