Пример текста выглядит следующим образом - он является частью намного большего документа, который анализируется (каждая строка имеет завершающие пробелы до конца):
Procedure Information
Primary Procedure:
LAPAROSCOPIC PARTIAL LEFT NEPHRECTOMY /ROBOTIC WITH
INTRAOPERATIVE ULTRASOUND
Procedure Start: 5/4/2009 9:01:00AM
Procedure Stop: 5/4/2009 3:29:00PM
Я хочу извлечь данные «Первичной процедуры» из этой строки, в данном случае «ЛАПАРОСКОПИЧЕСКАЯ ЧАСТИЧНАЯ НЕФРЕКТОМИЯ ЛЕВОГО / РОБОТИЧЕСКАЯ С УЛЬТРАЗВУКОМ»
Следующее выражение идентифицирует первичное расположение процедуры и может вытянуть 1-ю строку значения, но не обе строки (используя многострочный флаг):
^Primary Procedure:\s*([\w\S ]*\w)\s*$
Я не могу понять выражение, чтобы получить обе строки нужного значения. Вероятно, это значение будет всегда иметь длину 1 или 2 строки. Также возможно, что мы можем рассчитывать на наличие строки «Начало процедуры:» в начале следующей строки.