我需要阅读一个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
模式2:
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 días F.F.
我以这种方式尝试了W*(Forma de pago):(\s)W*
,这是不工作
我对正则表达式和java非常陌生。请注意"页面格式";在每个pdf中是固定的。
文字要求是:阅读"格式:"直到"60 días F.F",表示仅在"Forma de pagago之后有3个元素:">
有谁能帮帮忙吗?
可以使用
String regex = "\bForma\s+de\s+pago:\s*(\S+\s+\S+\s+\S+)";
参见regex演示。细节:
bForma
-一个完整的词Forma
(b
为一个词边界)s+
-一个或多个空白de
-de
strings+
-一个或多个空白pago:
- apago:
字符串s*
-零或多个空白(S+s+S+s+S+)
-组1:一个或多个非空白,然后出现两次一个或多个空白和一个或多个非空白字符。