2014-05-07 36 views
0

幫助將變量zone粘貼到正則表達式模式中。在我看來,我嘗試了所有可能的變體......總是出現錯誤! (此處不是靜態字符串UntrustGn)將變量粘貼到正則表達式中

  List<string> zones = new List<string> 
      { "UntrustGi", 
       "DMZPub", 
       "DMZMMS", 
       "DmzGi", 
       "TrustGi", 
       "TrustGn", 
       "DmzGn", 
       "UntrustGn", 
       "DMZLOM" }; 


      foreach (string zone in zones) 
      { 
       string patternZone = @"set address ""(UntrustGn)"" ("".*"") ([0-9]+.[0-9]+.[0-9]+.[0-9]+)([0-9]+.[0-9]+.[0-9]+.[0-9]+)"; 
+0

[如何將字符串粘在一起](http://msdn.microsoft.com/zh-cn/library/ms228504.aspx)。 – Rawling

回答

1

使用string.Format,像這樣:

foreach (string zone in zones) { 
    string patternZone = string.Format(@"set address ""{0}"" ("".*"") ([0-9]+.[0-9]+.[0-9]+.[0-9]+)([0-9]+.[0-9]+.[0-9]+.[0-9]+)", zone); 
    ... 
} 
+0

謝謝!看來這是正確的答案。但由於某種原因,我的正則表達式模式只評估List的第一項(這裏是UntrustGi)。但這與我的問題沒有直接關係...... – user3214034

1

這樣做:

foreach(string zone in zones) 
{ 
    string ptternZone = string.Format(@"set address ""{0}"" ("".*"") ([0-9]+.[0-9]+.[0-9]+.[0-9]+)([0-9]+.[0-9]+.[0-9]+.[0-9]+)", zone); 
} 

上述用途string.Format方法。