解析变量URI(RegEx,Uri,String-Functions?)解析一个非常多变的URI。但我完全不知道应该使用哪种方法(主要是故障安全)以及如何实现这一点。示例URI可能如下所示:rtsp://192.168.1.100:554/videocam/media/1/video/1_/___________/_______/__________/||||schemeauthority[sub][mediacontrol]其他可能性Sex:192.168.1.100/videocam/media/1/video/1192.168.1.100:6000/media/1/video/1192.168.1.100:6000/videocam我需要以下信息:知识产权|我如何识别这种模式[num].[num].[num].[num]?港口|如果字符串包含rtsp://,那很容易,但如果只是一个数字呢?1-65555分|可选的子路径,可以完全不同!媒体级别|可选的MediaLevel(流/轨道指示器),不要与路径混淆。MediaLevel也可以像这样:track1或m1s3或media1/video1..看到了吗?我不能选择斜杠,路径也可以包含多个斜杠也许有一个库可以完成这个任务?谢谢。varuri=newUri("rtsp://192.168.1.100:554/videocam/media/1/video/1");varhost=uri.Host;varport=uri.Port;varsub=uri.Segments[1];varmlevel=uri.Segments.Skip(2).ToArray();这是一个如何使用UriBuilder类的简单示例。它有点冗长,因为它只是一个例子,还没有准备好投入生产。如果你想识别更多的子,你可以将它们添加到一个子列表中,如示例所示。以上就是C#学习教程:ParsingvariableURI(RegEx,Uri,String-Functions?)c#分享的所有内容,如果对大家有用还需要详细了解C#学习教程,希望大家多多支持更多关注—classProgram{privatestaticstring_scheme=string.Empty;私有静态字符串_host=string.Empty;私有静态字符串_sub=string.Empty;staticvoidMain(string[]args){ParseUri("rtsp://192.168.1.100:554/videocam/media/1/video/1");ParseUri("192.168.1.100/videocam/media/1/video/1");ParseUri("192.168.1.100:6000/media/1/video/1");ParseUri("192.168.1.100:6000/摄像头");//添加新子的例子Sub.Add("sample");ParseUri("192.168.1.100:6000/样本/");控制台.ReadLine();}privatestaticvoidParseUri(stringURI){UriBuilderuri=newUriBuilder(URI);_scheme=uri.Scheme;_host=uri.主机;_sub=string.Empty;StringBuildersb=newStringBuilder();uri.Uri.Segments){if(Sub.Contains(s.Replace("/",""))){_sub=s;}else{sb.Append(s);}}Console.Out.WriteLine("+++++++++++++");控制台.Out.WriteLine("URI:{0}",URI);Console.Out.WriteLine("Scheme:{0}",_scheme);Console.Out.WriteLine("sub:{0}",_sub);Console.Out.WriteLine("mediaControl:{0}",sb.ToString());}privatestaticListSub{get{Listsub=newList();sub.Add("videocam");returnsub;}}},做不代表立场,如涉及侵权,请点击维权联系管理员删除如转载请注明出处:
