我想从下面的URL,“events/festivals”和“sandiego.storeboard.com”中提取2条信息。用正则表达式重写URL
我该如何用正则表达式来做到这一点?
http://sandiego.storeboard.com/classifieds/events/festivals
我需要这些信息在IIS 7
我想从下面的URL,“events/festivals”和“sandiego.storeboard.com”中提取2条信息。用正则表达式重写URL
我该如何用正则表达式来做到这一点?
http://sandiego.storeboard.com/classifieds/events/festivals
我需要这些信息在IIS 7
一个URL重写试试这个:
^http://([^/]*)/classifieds/([^/]*/[^/]*)/
的[^/]
片段的意思是 “一切是不一个/
”
这不是最快的解决方案,但它的工作原理:
(.*?)/classifieds/(.*)
下面的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;
}
}
可能要使用。*?用于第一次捕获以最小化回溯。 – Eevee 2011-05-28 04:22:22
好点。修改我的答案。 – 2011-05-28 15:30:08