REGEX, чтобы получить весь абзац из строки, извлеченной из PDF - PullRequest
0 голосов
/ 30 января 2019

Я новичок в регулярных выражениях.
У меня есть код PHP, который извлекает весь текст из файла PDF и сохраняет его в строковой переменной.
На странице №2 есть определенный параграф, который мне нужно получить.Я пытаюсь использовать регулярное выражение, чтобы получить текст до периодов, но проблема в том, что внутри этого абзаца есть много периодов, и регулярное выражение соответствует только первому предложению.

Это то, что часть PDFМне нужно получить вид: enter image description here

Мне нужно получить весь абзац, который выровнен по правому краю.Все они начинаются с этого предложения "AGRAVO DE EXCECUÇÃO PENAL".Но конец отличается от одного к другому.

Вот так выглядит значение строковой переменной (нужная мне часть выделена жирным шрифтом):

"PODER JUDICIÁRIO
TRIBUNAL DE JUSTIçA DO ESTADO DE SãO PAULO
13ª КАМАРА-ДЕ-ДИРЕЙТО УГОЛОВНОЕ
АГРАВО-ДЕ-ИСПОЛНИТЕЛЬНЫЙ ШТРАФ № 000000000000 - ГОЛОС №0000 2
ГОЛО № 00000
АГРАВО-ДЕ-ЭКСКУСАН ПЕНАЛ НОМЕР 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 * * * *, ПОДРОБ. ЗОЛОСОВ ЗДОРОВ.AGRAVADA: ИМЯ * * * одна тысяча двадцать два 1023 * AGRAVO ДЕ EXECUÇÃO ПЕНИТЕНЦИАРНАЯ EXECUçãO УГОЛОВНОГО PLEITO ДЕ MANUTENçãO DO CARáTER HEDIONDO DO ЗЛОДЕЯНИЕ ДЕ Trafico PRIVILEGIADO, А ФИМЫ ДЕ MODIFICAR ОС CáLCULOS NOVO ENTENDIMENTO DO С. СТП Externado НЕТ JULGAMENTO DO HC Nº 118,533 / МС, NOSENTIDO DE AFASTAR A NATUREZA HEDIONDA DO TRáFICO PRIVILEGIADO DE DROGAS DECISãO DO JUíZO EM CONSONANNCIA COM O ENTENDIMENTO ESPECIFICO DO PLENáRIO DO C. СТФ, КЬЮ-ХА-ДЕ-ПРЕВАЛУО-ДЕ-ВЬЮ-О-Валь-Дуа-де-РейбоPELO M IN IS T ÉR IO P Ú BLIC ODOEST A DO DES Á OPA ULO CONTRA DECISãO PROFERIDA PELO JUíZO DO DEECRIM DA 6ª RAJ (КОМАРКА-ДЕ-РИБЕЙРА-ПРЕТО), QUE INDEFERIU PEDIDO DE RETIFICAçã "

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Поскольку предложение продолжается до конца строки, вы можете использовать многострочное совпадение (модификатор 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.

Демонстрация на 3v4l.org

0 голосов
/ 30 января 2019

Это регулярное выражение, кажется, работает для вашего контента,

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

По сути, начинайте свой матч с заглавной буквы и фиксируйте все, что угодно, включая любые периоды в середине текста и останавливайтесь на последней точке .

Демо

Дайте мне знать, если это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...