list/([^-]*)-([^-]*)-([^-]*)(?:-([^-]*))(?:-([^-]*))-([0-9]*)\.html(?:\?(.*))?list/xxxx-xxxx-xxxx-www-www-1.htmlxxxx参数必须有 www参数可有可无满足以下3种情况·我上面的表达式该怎么改
list/xxxx-xxxx-xxxx-1.html
list/xxxx-xxxx-xxxx-www-1.html
list/xxxx-xxxx-xxxx-www-www-1.html

解决方案 »

  1.   


                System.IO.StreamReader reader = new System.IO.StreamReader("e:\\1.txt");
                string str = reader.ReadToEnd();
                Regex reg = new Regex(@"(?is)list/[^-]+-[^-]+-[^-]+-([^-]+-)?([^-]+-)?[0-9]\.html");
                MatchCollection mc = reg.Matches(str);
                foreach (Match m in mc)
                {
                    MessageBox.Show(m.Value);
                }
      

  2.   

        protected void Page_Load(object sender, EventArgs e)
        {
            List<string> urlList = new List<string>();
            urlList.Add("list/xxxx-xxxx-xxxx-1.html");
            urlList.Add("list/xxxx-xxxx-xxxx-www-1.html");
            urlList.Add("list/xxxx-xxxx-xxxx-www-www-1.html");
            string pattern = @"(?is)list/(\w+-)+\d+\.html";
            Regex reg = new Regex(pattern);        foreach (string url in urlList)
            {
                if (reg.IsMatch(url))
                {
                    Response.Write(url + "===匹配成功");
                    Response.Write("<br/>");
                }
            }
        }
      

  3.   

    这个不能满足,必须有三个 xxxx
      

  4.   

    在帮我写一个啊·2楼那个不行
          1  2 3  4    5    6  7
    list/c1-t2-k3-b100-e200-o2-1.html1可有可无以 c开头
    2必须有 以 t开头
    3必须有 以 k开头
    45可有可无 b和e开头
    6 可有可无 o开头
    7必须有 数字就行