【问题标题】:using variable n regex c# [duplicate]使用变量n正则表达式c#[重复]
【发布时间】:2017-04-07 08:30:50
【问题描述】:
         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);

【问题讨论】:

  • ...+ @"\s(.*)\s(.*)\s(.*)",请加@,因为\s实际上是一个未知符号
  • 它甚至与变量无关。
  • 我们一周有 7 天,为什么你声明10?在string[] weekday = new string[10];?改成string[] weekday = new string[] {"Söndag", "Måndag", ... , "Lördag"};
  • @ 适用于它所附加的字符串文字,而不适用于最终将构建的整个字符串。所以你需要为第二个文字重复@

标签: c# regex


【解决方案1】:

你可以使用@作为正则表达式

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

【讨论】:

    猜你喜欢
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    相关资源
    最近更新 更多