2017-02-22 53 views
0

我'嘗試從這段文字可以得到:正則表達式得到白標明的文字C#

updateServer 
cInterface_test-184 
cServer_test-184 
dControl_test-178 
mcontrol_doorinterface_test-178 

斜體字符串。例如,在第二行測試184我'使用以下正則表達式:

test+.* 

但我怎麼能提取測試184在C#WPF中的字符串?

謝謝:)

編輯:明星們不是在文本,我想強調的文字,我想

回答

0

後「測試 - ',總是有一個數字?

如果是這樣,下面是最適合你:

static void Main(string[] args) 
     { 
      var text = @" 
updateServer 
cInterface_*test-184* 
cServer_*test-184* 
dControl_*test-178* 
mcontrol_doorinterface_*test-178* 
"; 
      var pattern = @"test-\d*"; 

      foreach (Match match in Regex.Matches(text, pattern)) 
         Console.WriteLine(match); 
} 

如果「測試 - 」不是一個常數,你可以使用下面的代碼:

static void Main(string[] args) 
     { 
      var text = @" 
updateServer 
cInterface_*test-184*cServer_*test-184* 
cServer_*test-184* 
dControl_*test-178* 
mcontrol_doorinterface_*test-178* 
"; 
      var pattern = @"\*(.*?)\*"; 

      foreach (Match match in Regex.Matches(text, pattern)) 
       Console.WriteLine(match.Groups[1].Value); 
     } 
+0

非常感謝! 工作很好! – LongDong1234

0

你可以使用代碼llke此:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var text = @" 
updateServer 
cInterface_*test-184* 
cServer_*test-184* 
dControl_*test-178* 
mcontrol_doorinterface_*test-178* 
"; 
     foreach (Match match in Regex.Matches(text, "\\*(.*)\\*")) 
     { 
      Console.WriteLine(match.Groups[1].Value); 
     } 
    } 
} 
+0

也許是更好的把(。*)非貪婪(。*?)。它將工作,即使這些值是在一行中,如:cInterface_ * test-184 * cServer_ * test-184 * –

+0

非常感謝! 就是這樣 – LongDong1234