识别特定字符的正则表达式

regex to identify specific character

我需要阅读 pdf 并从中提取数据。

数据格式是这样的

模式 1:

Impuestos indirectos excluidos. 
Forma de pago: 60 días F.F Según condiciones generales de contratación. 
FIRMA: Juan Rubio FECHA: 28/09/2021

模式二:

Impuestos indirectos excluidos. 
Forma de pago: 60 días F.F. 
 Según condiciones generales de contratación. 
FIRMA: Juan Rubio FECHA: 20/09/202

从中我必须找出 60 天 F.F。

我这样试过\W*(Forma de pago):(\s)\W*,还是不行

我对正则表达式和 java 很陌生。请注意“Forma de pago”在每个 pdf 中都是固定的。

单词要求是:阅读“Forma de pago:”之后的任何内容,直到“60 días F.F”,意味着只有在“Forma de pago:”之后的 3 个元素:

有谁能帮忙吗

您可以使用

String regex = "\bForma\s+de\s+pago:\s*(\S+\s+\S+\s+\S+)";

参见 regex demo详情:

  • \bForma - 一个完整的单词Forma\b是一个单词边界)
  • \s+ - 一个或多个空格
  • de - de 字符串
  • \s+ - 一个或多个空格
  • pago: - pago: 字符串
  • \s* - 零个或多个空格
  • (\S+\s+\S+\s+\S+) - 第 1 组:一个或多个非空格,然后出现两次一个或多个空格和一个或多个非空格字符。