2011-05-27 63 views
0

我想从下面的URL,“events/festivals”和“sandiego.storeboard.com”中提取2条信息。用正则表达式重写URL

我该如何用正则表达式来做到这一点?

http://sandiego.storeboard.com/classifieds/events/festivals 

我需要这些信息在IIS 7

回答

0

一个URL重写试试这个:

^http://([^/]*)/classifieds/([^/]*/[^/]*)/ 

[^/]片段的意思是 “一切是一个/

0

这不是最快的解决方案,但它的工作原理:

(.*?)/classifieds/(.*) 
+0

可能要使用。*?用于第一次捕获以最小化回溯。 – Eevee 2011-05-28 04:22:22

+0

好点。修改我的答案。 – 2011-05-28 15:30:08

0

下面的C#代码将会反转您请求的两个字符串。

class Program 
{ 
    static void Main(string[] args) 
    { 
     GroupCollection result = GetResult("http://sandiego.storeboard.com/classifieds/events/festivals"); 
     Console.Write(result[1] + " " + result[2]); 
     Console.ReadLine(); 
    } 

    private static GroupCollection GetResult(string url) 
    { 
     string reg = @".*?(\w+\.\w+\.com).*?(events\/festivals)"; 
     return Regex.Match(url, reg).Groups; 
    } 
}