2017-04-07 30 views
0
  var d = new Date(); 
     string[] weekday = new string[10]; 
     weekday[0] = "Söndag"; 
     weekday[1] = "Måndag"; 
     weekday[2] = "Tisdag"; 
     weekday[3] = "Onsdag"; 
     weekday[4] = "Torsdag"; 
     weekday[5] = "Fredag"; 
     weekday[6] = "Lördag"; 
     int day = (int)DateTime.Now.DayOfWeek; 
     var n = weekday[day]; 

     var match = Regex.Match(item.InnerText, @"\b" + n + "\s(.*)\s(.*)\s(.*)", RegexOptions.Multiline); 

     Response.Write(match.Value); 

我得到\ S()\ S()\ S()當我把變量中的 「無法識別的轉義序列」 的錯誤。當它只是@「\bMåndag\ s(。)\ s(。)\ s(。)」,RegexOptions.Multiline)時它工作正常。使用變量n的正則表達式C#

+1

'... + @ 「\ S(。*)\ S(。*)\ S(。*)」',請加上'@'因爲'\ s'實際上是一個未知符號 –

+1

它甚至與變量沒有關係。 –

+1

本週有** 7 **天,爲什麼你聲明'10'?在'string [] weekday = new string [10];'?將其更改爲'string [] weekday = new string [] {「Söndag」,「Måndag」,...,「Lördag」};' –

回答

1

你可以使用@爲正則表達式

var match = Regex.Match(item.InnerText, @"\b" + n + @"\s(.*)\s(.*)\s(.*)", RegexOptions.Multiline);