Какой запрос я должен написать для регулярного выражения, чтобы захватить указанные форматы абзаца и пропустить остальные? - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь написать запрос регулярного выражения для захвата либо форм следующих абзацев от 'ДИАГНОСТИКА' до 'Совета патологов' и игнорирую остальные. Что такое хороший запрос регулярного выражения для этого?

(«» указывают начало и конец абзацев и не включены в искомую строку)

(«ЭТО ДИАГНОСТИКА ...» и «результат диагностики» являются образцами текстов для ради вопроса и заменяются разными данными в данных)

Формат абзаца 1:

"

ДИАГНОСТИКА:

A- ЭТО ДИАГНОСТИКА, № 1:

  • Результаты диагностики

B- ЭТО ДИАГНОСТИКА, № 2:

  • результат диагностики
  • другой результат

Совет патологов:...

"

Формат абзаца 2:

"

ДИАГНОСТИКА:

ЭТО ДИАГНОЗ:

  • результаты диагностики

Совет патологов :
..

"

Я использовал" ДИАГНОСТИКА: (\ s *) ((\ w *. \ S *) *) ". Я знаю, что после диагностики это фиксирует почти все, и мои результаты показывают, что :) Я не смог найти лучшего решения для захвата параграфов.

1 Ответ

0 голосов
/ 09 февраля 2020

Вы можете сопоставить ^DIAGNOSIS: с начала строки.

Затем вы можете многократно сопоставлять следующие строки, которые не начинаются с Доска патологов: с отрицательным прогнозом (?:(?!Board of pathologists:).*\r?\n)*

^DIAGNOSIS:\s*(?:\r?\n)(?:(?!Board of pathologists:).*\r?\n)*

Regex demo

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