如何从正文中find/extract页码?
How to find/extract Page numbers from the text?
我一直在对一些图像进行 OCR,这些图像是不同文档的一部分,它们在 bottom.I 中有页码,我已经找到了找到每个文档的方法,但图像不按顺序,我想按页码对它们进行排序。一个小问题是页码的格式有所不同,即
Page 1 of 35
Page 1-35
Page 35
加上 Page
也可以是小写的 page
。我正在寻找的是一种使用正则表达式从页面中提取它的通用方法。如果它可以在一个正则表达式中处理,那就太好了,因为编译版本比针对每种情况使用不同的版本要快。
谢谢
试试下面的正则表达式,
page\s[\d]?[\s\d\-of]+
使用 'I' 标志区分大小写。
请查看以下命令是否适合您的目的。谢谢
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 1-35')
['Page 1']
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 35')
['Page 35']
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 1 of 35')[0]
'Page 1'
>>> re.findall(r'\w*\s\w*\d{1,5}','page 1 of 35')[0]
'page 1'
`
我一直在对一些图像进行 OCR,这些图像是不同文档的一部分,它们在 bottom.I 中有页码,我已经找到了找到每个文档的方法,但图像不按顺序,我想按页码对它们进行排序。一个小问题是页码的格式有所不同,即
Page 1 of 35
Page 1-35
Page 35
加上 Page
也可以是小写的 page
。我正在寻找的是一种使用正则表达式从页面中提取它的通用方法。如果它可以在一个正则表达式中处理,那就太好了,因为编译版本比针对每种情况使用不同的版本要快。
谢谢
试试下面的正则表达式,
page\s[\d]?[\s\d\-of]+
使用 'I' 标志区分大小写。
请查看以下命令是否适合您的目的。谢谢
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 1-35')
['Page 1']
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 35')
['Page 35']
>>> re.findall(r'\w*\s\w*\d{1,5}','Page 1 of 35')[0]
'Page 1'
>>> re.findall(r'\w*\s\w*\d{1,5}','page 1 of 35')[0]
'page 1'
`