2009-06-26 4 views
0
次のように

サンプルテキストがある - それは(各ラインは、その端部の前にスペースが後続している)構文解析されてはるかに大きな文書の一部である:トラブル捕捉するために、.NET正規表現パターンの作成を有する複数行テキスト

      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          

この文字列から "Primary Procedure"データを取り出したいとします。この場合、 "LAPAROSCOPIC LEFT NEPHRECTOMY/ROBOTIC INTRAOPERATIVE ULTRASOUND"とします。

次の式は、一次手順の場所を識別し、(マルチラインフラグを使用して)両方の行値の1行目を引くではないために管理:

^Primary Procedure:\s*([\w\S ]*\w)\s*$ 

Iの発現を把握することはできません所望の値の両方の線を得る。この値は常に1行または2行のいずれかになります。また、次の行の先頭に「プロシージャ開始:」という文字列が存在する可能性があります。

答えて

0
new Regex(@"Primary Procedure:\s*(.*)\s*Procedure Start", 
    RegexOptions.Singleline).Match(str).Groups[1] 
関連する問題