REGEX 从 PDF 中提取的字符串中获取整个段落
REGEX to get whole paragraph from string extracted from PDF
我是正则表达式的新手。
我有一个 PHP 代码可以从 PDF 文件中提取所有文本并存储在字符串变量中。
我需要获取第 2 页上的特定段落。我正在尝试使用正则表达式来获取句点之前的文本,但问题是该段内有很多句点,而正则表达式仅匹配第一句。
这是我需要得到的 PDF 部分的样子:
我需要获取所有右对齐的段落。所有这些都以“AGRAVO DE EXCECUÇãO PENAL”这句话开头。但是结局各不相同
这是字符串变量值的样子(我需要的部分是粗体):
"PODER JUDICIÁRIO
法庭 DE JUSTIçA DO ESTADO DE SãO PAULO
13ª CâMARA DE DIREITO CRIMINAL
AGRAVO DE EXECUçãO PENAL Nº 000000000000 - VOTO Nº 0000 2
投票编号 00000
AGRAVO DE EXECUçãO PENAL Nº 0000000000000000000
AGRAVANTE: MINISTéRIO PúBLICO DO ESTADO DE SãO PAULO
阿格拉瓦达:姓名
AGRAVO DE EXECUÇãO PENAL EXECUçãO CRIMINAL PLEITO DE MANUTENçãO DO CARáTER HEDIONDO DO CRIME DE TRAFICO PRIVILEGIADO,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.
CUIDA-SE DE AGRAVO DE EXECUçãO PINAL INTERPOSTO PELO M IN IS T ÉR IO P Ú BLIC O D O E STA A DO D E S Ã O P A ULO CONTRA DECISãO PROFERIDA PELO JUíZO DO DEECRIM DA 6ª RAJ (COMARCA DE RIBEIRãO PRETO), QUE INDEFERIU PEDIDO DE RETIFICAçã
此正则表达式似乎适用于您的内容,
[A-Z]+.*\.\s*\n
基本上以大写开始您的匹配并捕获任何内容,包括文本中间的任何句点并在最后一个点停止 .
让我知道这是否适合你。
由于句子一直到行尾,可以使用多行匹配(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.
我是正则表达式的新手。
我有一个 PHP 代码可以从 PDF 文件中提取所有文本并存储在字符串变量中。
我需要获取第 2 页上的特定段落。我正在尝试使用正则表达式来获取句点之前的文本,但问题是该段内有很多句点,而正则表达式仅匹配第一句。
这是我需要得到的 PDF 部分的样子:
我需要获取所有右对齐的段落。所有这些都以“AGRAVO DE EXCECUÇãO PENAL”这句话开头。但是结局各不相同
这是字符串变量值的样子(我需要的部分是粗体):
"PODER JUDICIÁRIO
法庭 DE JUSTIçA DO ESTADO DE SãO PAULO
13ª CâMARA DE DIREITO CRIMINAL
AGRAVO DE EXECUçãO PENAL Nº 000000000000 - VOTO Nº 0000 2
投票编号 00000
AGRAVO DE EXECUçãO PENAL Nº 0000000000000000000
AGRAVANTE: MINISTéRIO PúBLICO DO ESTADO DE SãO PAULO
阿格拉瓦达:姓名
AGRAVO DE EXECUÇãO PENAL EXECUçãO CRIMINAL PLEITO DE MANUTENçãO DO CARáTER HEDIONDO DO CRIME DE TRAFICO PRIVILEGIADO,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.
CUIDA-SE DE AGRAVO DE EXECUçãO PINAL INTERPOSTO PELO M IN IS T ÉR IO P Ú BLIC O D O E STA A DO D E S Ã O P A ULO CONTRA DECISãO PROFERIDA PELO JUíZO DO DEECRIM DA 6ª RAJ (COMARCA DE RIBEIRãO PRETO), QUE INDEFERIU PEDIDO DE RETIFICAçã
此正则表达式似乎适用于您的内容,
[A-Z]+.*\.\s*\n
基本上以大写开始您的匹配并捕获任何内容,包括文本中间的任何句点并在最后一个点停止 .
让我知道这是否适合你。
由于句子一直到行尾,可以使用多行匹配(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.