Регулярные выражения. Все между + ретроспективным обзором и + прогнозированием - PullRequest
0 голосов
/ 14 июля 2020

Не могли бы вы помочь? Мне нужно сопоставить все между MHN 000000000 и Case Pathologist:.

Я использую (?<=\D\D\D\:\s\d{9})(.*)(?=Case Pathologists:), но пропускает одну строку, содержащую 'Case Pathologists:'.

GH00-0000             for DUMKEE,AMIE LYN                     Date/Time Accessioned: 3/15/2017 07:36
     GNH                                                      Priority: Routine Surgical
                                                              Location at Accession: G33
                                                              Physician: BAYDOCK,DR.SANDRA
                                                              MRN: 000000000
    Placenta, 3rd trimester (>26 wks)         Date Taken: 3/13/2017 00:00      Date Received: 3/14/2017 07:47
   Case Pathologists:
    1 Andrea Macyk-Davey MD,          P Pathologist
      FRCPC 

    2 R. Desjardins M.D. (Pathology R Resident
      Resident)


GH00-0000             for KARMAND,MOZHDA                      Date/Time Accessioned: 3/15/2017 07:43
     GNH                                                      Priority: Routine Surgical
                                                              Location at Accession: G42
                                                              Physician: SKORENKI,DR.ANDREA
                                                              MRN: 000000000
    Left Ovary and Fallopian Tube             Date Taken: 3/14/2017 00:00      Date Received: 3/14/2017 15:13
   Case Pathologists:
    1 Adrian Sim MD,FRCPC             P Pathologist
      

    2 R. Desjardins M.D. (Pathology R Resident
      Resident)

https://regex101.com/r/gdTUNU/2

1 Ответ

0 голосов
/ 14 июля 2020

Изменить:

(?<=\D\D\D\:\s\d{9})(.*)(?=Case Pathologists:)

на:

(?<=\D\D\D\:\s\d{9})(.*?)(?=Case Pathologists:)

Дополнительный '?' в исправленном коде в основном указывает регулярному выражению не быть жадным.

...