解决方案 »

  1.   

    貌似*/services/mytest.asmx就可以了
      

  2.   

    试试这个 Regex r = new Regex("http://[^/]*?/[^/]*?/", RegexOptions.IgnoreCase);取到的是 http://192.168.0.100/test/  匹配所有http://开头 到第二个 /  的内容。 
      

  3.   

    对于var uri = new Uri(str);你需要分别取得 uri.uri.Host 以及 uri.PathAndQuery 的第二个“/”符号分隔的部分即可。url 有各种不同的形式,例如你连“端口号”都不知道考虑,那么你这种程序设计,或者你也不知道考虑有些 url 根本没有写“http://”这个头,这种程序就成了简单地匹配字眼、而不理解规范了。
      

  4.   

    (?<url>https?://.*)/services/mytest.asmx用捕获组,捕获到的组里,名为url的value就是前面部分。构造正则的时候参数记得选择忽略大小写。
      

  5.   


                string txt = "Http://192.168.0.100/test/services/mytest.asmx";
                Match m = Regex.Match(txt, @"(?i)http://[0-9.]+/\w+");
                Console.WriteLine(m.Value);
      

  6.   


    似乎是只对192.168.0.100类的地址起作用,如果换做www.baidu.com之类就不行了。
      

  7.   

    http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?