Возникли проблемы при создании шаблона .NET Regex для захвата многострочного текста. - PullRequest
0 голосов
/ 26 июня 2009

Пример текста выглядит следующим образом - он является частью намного большего документа, который анализируется (каждая строка имеет завершающие пробелы до конца):

                          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 строки. Также возможно, что мы можем рассчитывать на наличие строки «Начало процедуры:» в начале следующей строки.

1 Ответ

0 голосов
/ 26 июня 2009
new Regex(@"Primary Procedure:\s*(.*)\s*Procedure Start", 
  RegexOptions.Singleline).Match(str).Groups[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...