REGEX从PDF提取的字符串中获取整个段落

时间:2019-01-30 12:07:03

标签: php regex paragraph

我是正则表达式的纽比。
我有一个PHP代码,可从PDF文件提取所有文本并将其存储在字符串变量中。
我需要获取第2页上的特定段落。我正在尝试使用正则表达式来获取文本,直到句点为止,但问题是该段内有很多句点,而正则表达式仅与第一句匹配。

这是我需要获取的PDF部分的样子: enter image description here

我需要获取所有在右侧对齐的段落。所有这些都以这个句子“ AGRAVO DEEXCECUÇÃOPENAL”开头。但是目的却各不相同。

这是字符串变量值的样子(我需要的部分以粗体显示):

“ PODERJUDICIÁRIO
埃斯特拉·德·圣保罗司法机构
13月Câmarade Direito刑事
AGRAVO DEEXECUçãOPENALNº000000000000-VOTONº0000 2
投票编号00000
AGRAVO DEEXECUçãOPENALNº0000000000000000000
AGRAVANTE:MINISTéRIOPúBLICODO ESTADO DESãOPAULO
AGRAVADA:NAME
AGRAVO DEEXECUÇÃO刑事EXECUçãO刑事PLEITO DEMANUTENçãODOCARáTERHEDIONDO DO犯罪DETRáFICOPRIVILEGIADO,A FIM DE MODIFICAR OSCáLCULOSNOVO ENTENDIMENTO DO C. STF走读NO JULGAMENTO DO HCNº118.533 / MS,NO SENTIDO DE AFASTAR甲NATUREZA HEDIONDA
<< CUIDA-SE DE AGRAVO DEEXECUçãO刑罚国际间皮洛梅因法拉利银行在比利奇·德比奥·波利奇奥·波多黎各塞拉-普罗维埃拉·德·普里科·迪奥里科·佩里奇·德·科里奇·达里奇·达里奇·德·拉科(COMARCA DERIBEIRãOPRETO)

2 个答案:

答案 0 :(得分:1)

此正则表达式似乎适用于您的内容,

[A-Z]+.*\.\s*\n

基本上以大写字母开始比赛,并捕获包括文本中间任何句点在内的所有内容,并在最后一个点.

停止

Demo

让我知道这是否对您有用。

答案 1 :(得分:1)

由于句子一直到行尾,所以您可以使用多行匹配(m修饰符)来获得^$来匹配行首和结尾每行。然后,这个简单的正则表达式应该起作用:

/^AGRAVO DE EXECUÇÃO PENAL.*$/m

例如

preg_match('/^AGRAVO DE EXECUÇÃO PENAL.*$/m', $string, $matches);
echo $matches[0];

输出:

AGRAVO DE EXECUÇÃO PENAL EXECUçãO CRIMINAL PLEITO DE MANUTENçãO DO CARáTER HEDIONDO DO CRIME DE TRáFICO PRIVILEGIADO, A FIM DE MODIFICAR OS CáLCULOS NOVO ENTENDIMENTO DO C. STF EXTERNADO NO JULGAMENTO DO HC Nº 118.533/MS, NO SENTIDO DE AFASTAR A NATUREZA HEDIONDA DO TRáFICO PRIVILEGIADO DE DROGAS DECISãO DO JUíZO EM CONSONâNCIA COM O ENTENDIMENTO ESPECíFICO DO PLENáRIO DO C. STF, QUE Há DE PREVALECER AGRAVO NãO PROVIDO.

Demo on 3v4l.org