给我正则表达式,用于从银行对帐单 pdf 中的一堆转换后的文本文档中查找帐号

Give me regex for finding account number in bunch of converted text documents from bank statement pdf

我有一堆不同的银行对帐单 pdf,我已将其转换为要从中提取消费者信息的文本。我必须编写正则表达式来提取帐号。帐号后跟具体的关键词如:

account number,
account no,
a/c no

我将粘贴一些包含此信息的示例文本。

示例 1:

"bank of india  account statement name abcd account no. 123456 account type savings account"

示例 2:

"statement for a/c no 11111111 between 16-09-2019 and 16-03-2020"

示例 3:

"shyam alaspure<br />
period<br />
01-12-2019 to 29-02-2020<br />
cust.reln.no<br />
XXXXXXXX<br />
account no<br />
9XXX99999"<br />

我使用了以下正则表达式

'account no.\s*([^.]+|\S+)'

但输出给出了帐号后的所有文本。

请帮我找出解决办法。

注意

  • (?:|$) 总是匹配一个空字符串,这个模式是多余的
  • {1} 总是多余的,永远不要在手动编写的正则表达式中使用它
  • . 在字符外部使用 类 匹配除换行符以外的任何字符,总是将其转义,\. 以匹配文字字符。 [.] 也匹配文字点。

您可以使用

r'\b(?:a/c|account) no\.?\s+(\w+)'

regex demo

详情

  • \b - 单词边界
  • (?:a/c|account) - a/caccount
  • no.? - space, no, 可选点
  • \s+ - 1+白spaces
  • (\w+) - 第 1 组:一个或多个字母、数字或下划线

请使用下面的正则表达式

(?i)(?:a\/c|account)\s*no\.?\s+(\w+)

看到它工作 here