数字+空格+字母的正则表达式是这样吗:[A-Za-z\s+0-9].html就是实现这样的格式: "EX 126.html" 空格是不是这样?如我不加空格 [A-Za-z0-9].html     EX126.html 这样就对!麻烦帮忙看看!

解决方案 »

  1.   

    空格你就用空格好了。别用\s,这范围大了去了(?is)^[\d a-z]$
      

  2.   

    少敲个字符,手误
    (?is)^[\d a-z]+$
      

  3.   


    MessageBox.Show(Regex.Match("EX 126.html", @"(?is)^[\d a-z]+\.html?$").Value);
      

  4.   

    哦?如果你给的那个,没错哦。不要求头尾判断就去掉^$
    (?is)[\d a-z]+\.html?你实际要测试的字符串贴出来看看哦。
      

  5.   

    [A-Za-z0-9] 在這個里,字母和數字中間加空格的的正則就行了因為我[A-Za-z0-9]這個不加空格測試是沒錯的!
      

  6.   

    也可以。满足你要求就好。我喜欢更优雅的。
    (?i)[a-z\d ]不过你写的正则
    [A-Za-z0-9].html 这个,只判断了一个字符哦。只限定了html往前的第二个字符是这个范围的,html前一个字符随意是什么都可以的。
      

  7.   

    (?i)[a-z\d ]這個試過不行啊。。(?i)不明白這個是什么?
    我那里是這樣寫的。。
    <RewriterRule>
    <LookFor>~/admin/[A-Za-z0-9].html</LookFor>
    <SendTo>~/admin/product_details.aspx?P_id=$1</SendTo>
    </RewriterRule>
      

  8.   

    贴出你测试用的代码。如果你要的只是[A-Za-z0-9].html,那这个肯定可以匹配的。贴你如何测试的,代码贴出来。
      

  9.   

    为什么要搞"EX 126.html"这种带空格的文件名?
    <RewriterRule>
    <LookFor>~/admin/[A-Za-z0-9\u0020]\.html</LookFor>
    <SendTo>~/admin/product_details.aspx?P_id=$1</SendTo>
    </RewriterRule>
      

  10.   


    <RewriterRule>
    <LookFor>~/admin/[A-Za-z0-9].html</LookFor>
    <SendTo>~/admin/product_details.aspx?P_id=$1</SendTo>
    </RewriterRule>
    就是這個測試代碼,我設置了如果找不到頁面就彈出對話框。。 <RewriterRule>
    <LookFor>~/admin/message.html</LookFor>
    <SendTo>~/admin/message.aspx</SendTo>
    </RewriterRule>
    這個行,能運行正常
      

  11.   

    我搞錯了,原來,原先<LookFor>~/admin/[A-Za-z0-9].html</LookFor>
    <SendTo>~/admin/product_details.aspx?P_id=$1</SendTo>這個都不行。我也不明白這個$1是怎樣接收參數的。

      

  12.   

    原來的問題解決了,但$1取到的參數不正確,$1是怎樣接收參數的?
    <RewriterRule>
    <LookFor>~/admin/[\d a-z]+\.html</LookFor>
    <SendTo>~/admin/product_details.aspx?P_id=$1</SendTo>
    </RewriterRule>
      

  13.   

    我試過輸出 Response.Write(Request.QueryString["P_id"]);輸出的值就是 $1; $1是怎樣接收參數的?