我有一项涉及正则表达式的挑战性任务。至少我觉得很有挑战性。
我从PDF中提取了以下字符串(文本):http://www.regexr.com/3c5ei
这是软件每月向公司生成的文本。问题是,它有公司大量生产这些文件,因此有PDF文件,其中包含100个这样的文本。
文本布局始终相同,更改的信息包括日期,名称,数字,值等。
我正在尝试获取一个包含500个文档的PDF文件(500个文本具有相同的掩码/布局,具有相同的值)并分成几个数组,每个文档的matriz。理解?
例如,如果我有两个文件到这个PDF,我想交两个matriz。
为了能够做到这一点,我需要一个非常复杂的正则表达式,然后你进入,真棒人。
我已经能够删除PDF文本,我现在正在尝试创建正确的模式来提取这些文本。
例如,在以下场景中:我在本文中有两个文档:http://www.regexr.com/3c5el
他们是平等的,
开头是:MINISTÉRIO DO TRABALHO
结尾是:Z6: 0
然而正如我先前所说,它并不总是相同的开始和结束。
我设法找到了一个标准:
在文本开头,以下句子:RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
最后,在开始另一个文本之前,使用以下句子:RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
文件地图将是:
INFORMATION HERE FILE 1
RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 1
OTHER INFORMATION FILE 1
OTHER INFORMATION FILE 1
RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 1
FILE INFORMATION HERE 2
RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 2
OTHER INFORMATION FILE 2
OTHER INFORMATION FILE 2
RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 2
我希望您的帮助能够捕获该文本并打破正确文档的数量。
我能够创建以下正则表达式,但不是很好:
^(.*?RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP.*?RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP.*?(RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP)|.*?)
但是效果并不好......这对我的知识来说太复杂了。
由于
答案 0 :(得分:0)
在文本开头,以下句子:
RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
最后,在开始另一个文本之前,以下句子:RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
将[\s\S]*?
之间的所有内容匹配,因为它也会匹配换行符。并使用/g
修饰符来获取所有匹配项。
<强>正则表达式强>
/RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP([\s\S]*?)RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP/g
<强>代码强>
var regex = /RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP([\s\S]*?)RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP/g
var text = `
INFORMATION HERE FILE 1
RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 1
OTHER INFORMATION FILE 1
OTHER INFORMATION FILE 1
RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 1
FILE INFORMATION HERE 2
RELAÇÃO DOS TRABALHADORES CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 2
OTHER INFORMATION FILE 2
OTHER INFORMATION FILE 2
RESUMO DAS INFORMAÇÕES À PREVIDÊNCIA SOCIAL CONSTANTES NO ARQUIVO SEFIP
OTHER INFORMATION FILE 2
`;
var m;
var num = 0;
while ((m = regex.exec(text)) !== null) {
num++;
document.write("<h3>Match " + num + "</h3><pre>" + m[1] + "</pre>");
}