static void Main(string[] args)
{
string pattern = @"~/NewList_([0-9]*)/([\w\s]*)/";
string str = "~/NewList_1//";
Console.WriteLine(new Regex(pattern).IsMatch(str).ToString());
}测试通过,看看是不是程序别处的逻辑有问题?

解决方案 »

  1.   


    正则没看出有什么问题,报什么错?
    试下下面这个:
    <RewriterRule> 
            <LookFor>~/NewList_([0-9]*)/([\w\s]*?)/ </LookFor> 
            <SendTo>~/NewList.aspx?class=$1 </SendTo> 
    </RewriterRule> 
    改成[^\\]*
      

  2.   

    换成
    <RewriterRule> 
            <LookFor>~/NewList_([0-9]*)/([\w\s]*?)/ </LookFor> 
            <SendTo>~/NewList.aspx?class=$1 </SendTo> 
    </RewriterRule> 
    也不行当输入的网址是 ..../NewList_1// 也是跳转到 404错误页面
      

  3.   

    <RewriterRule> 
            <LookFor>~/NewList_([0-9]*)/([\w\s]*)/ </LookFor> 
            <SendTo>~/NewList.aspx?class=$1 </SendTo> 
    </RewriterRule>  ..../NewList_1/ a/    前面有空格可以正常显示..../NewList_1/a /    后面有空格提示错误:请检查以下 URL 并确保其拼写正确..../NewList_1//     中间无字符,直接跳转到404错误页面
      

  4.   

    static void Main(string[] args) 

    string pattern = @"~/NewList_([0-9]*)/([\w\s]*)/"; 
    string str = "~/NewList_1//"; 
    Console.WriteLine(new Regex(pattern).IsMatch(str).ToString()); 

      

  5.   

    这样可以
    <RewriterRule> 
            <LookFor>~/NewList_([0-9]*)/([\w\s]*) </LookFor> 
            <SendTo>~/NewList.aspx?class=$1 </SendTo> 
    </RewriterRule> 这样的不可以
    <RewriterRule> 
            <LookFor>~/NewList_([0-9]*)/([\w\s]*)/ </LookFor> 
            <SendTo>~/NewList.aspx?class=$1 </SendTo> 
    </RewriterRule> 就差网址上的最后一个斜杠,但这个站已经好几个月了,如果修改成没/结尾的对搜索引擎就很不友好了,希望大家能帮我看看,如何能让有/的也能正常显示备注:这个不是正则的问题,因为是其他问题
      

  6.   

    ..../NewList_1//
    这个网址名称就不合法吧?没见过两个斜杠连在一起的网址
      

  7.   

    Application_Request
    {
    if(Request.Url.EndsWith("//"))
    Response.Redirect(Request.Url.TrimEnd('/')+"/");
    }