从文本列中提取页数

Extract Number of pages from a text column

我有一个文本列,其中包含如下评论:

  1. 6 页,LaTeX,无数字
  2. 19 页,乳胶,4 个数字作为 uuencoded postscript 文件
  3. 受邀在“VII Marcel Grossman 广义相对论会议”上发表演讲 - 斯坦福大学,1994 年 7 月。14 页,乳胶,五位数,可应要求提供。
  4. 15 页 Phyzzx

我想从中提取页数。还有一些行没有任何评论或没有与页面相关的信息。所以这些可能应该是 NA。

只要每个评论只有一个页数,这就有效。

import re
comments = [
"6 pages, LaTeX, no figures",
"112 cucumber",
"19 pages, latex, 4 figures as uuencoded postscript files",
"Invited Talk at the ``VII Marcel Grossman Meeting on General 
Relativity'' - Stanford, July 1994. 14 pages, latex, five figures, 
which will be available upon request.",
'15 pp. Phyzzx']

def page_num_extract(text:list) -> list:
  out = []
  for line in text:
    pages = re.findall("\d* pages|\d* pp\.", line)
    pages = re.findall("\d*", str(*pages))[0]
    if not pages:
      pages = "NA"
    out.append(pages)
  return out

page_num_extract(评论)

['6', 'NA', '19', '14', '15']