用正则表达式提取数字

时间:2018-04-08 16:47:23

标签: python regex

我有一些文字:

Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 182) - (302, 431)

我需要提取数字160182302431

我可以想出一些分裂等,但似乎太长了。有没有办法使用regexp提取它?

2 个答案:

答案 0 :(得分:1)

您可以使用re.findall

import re
s = 'Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 182) - (302, 431)'
new_s = re.findall('\d+', s)[-4:]

输出:

['160', '182', '302', '431']

答案 1 :(得分:0)

这是提取包含在paranthesis中的数字的一种方法:

import re
text = 'Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 182) - (302, 431)'
print(re.findall(r'(\d{3,})', text))

# ['160', '182', '302', '431']