C#正则解析域名?我需要从字符串中解析域名。字符串可能会有所不同,我需要确切的域。示例字符串:http://somename.de/www.somename.de/somename.de/somename.de/somesubdirectorywww.somename.de/?pe=12我只需要域名、tld和www(如果适用)以下内容可以使用格式:www.somename.de如何使用C#执行此操作?我使用非常简单的Uriuri=newUri("http://www.google.com/search?q=439489");字符串url=uri.Host.ToString();返回网址;因为通过使用它你可以肯定。作为正则表达式解决方案的替代方案,您可以让System.Uri类为您解析字符串。您只需要确保该字符串包含一个方案。字符串uriString="http://www.google.com/search";如果(!uriString.Contains(Uri.SchemeDelimiter)){uriString=string.Concat(Uri.UriSchemeHttp,Uri.SchemeDelimiter,uriString);}字符串域=newUri(uriString).Host;该解决方案还过滤掉任何端口号并将IPv6地址转换为其规范形式。我查看了正则表达式库,看起来像这样的东西可能对你有用:^(([w][w-.]*).)?([w][w-]+)(.([w][w.]*))?$试试这个:^(?:w+://)?([^/?]*)这是一个弱正则表达式-它不验证字符串,但假设它已经是一个url,并获取第一个单词到第一个斜杠,忽略协议。要让域查看第一个捕获的组,例如:stringurl="http://www.google.com/hello";匹配match=Regex.Match(url,@"^(?:w+://)?([^/?]*)");字符串域=match.Groups[1].Value;作为奖励,它还捕获了第一个?,所以urlgoogle.com?hello=world将按预期工作。以上就是C#学习教程:使用C#正则表达式解析域名?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
