识别特定字符的正则表达式
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 组:一个或多个非空格,然后出现两次一个或多个空格和一个或多个非空格字符。
我需要阅读 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 组:一个或多个非空格,然后出现两次一个或多个空格和一个或多个非空格字符。