检查 C# 中的字符串是否为 URL
Check if a string in C# is a URL
here 之前有人问过这个问题,但答案都是 PHP 相关的。
是否有使用 C# 的类似且有效的解决方案?像特定的测试 class 或常规?
我想解析 www.google.com 或 google.com 或 mywebsite.net 等...有或没有前缀。
谢谢
C# 也有 Regex,但这看起来更简单:
bool isUri = Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute);
(在 Regular expression for URL 回答)
你可以这样使用:
bool result = Uri.TryCreate(uriName, UriKind.RelativeOrAbsolute, out uriResult)
&& uriResult.Scheme == Uri.UriSchemeHttp;
https://msdn.microsoft.com/en-us/library/system.web.webpages.validator.regex(v=vs.111).aspx
您使用上面提到的 class 或使用下面的正则表达式并检查正则表达式与您的 url 字符串匹配
Regex UrlMatch = new Regex(@"(?i)(http(s)?:\/\/)?(\w{2,25}\.)+\w{3}([a-z0-9\-?=$-_.+!*()]+)(?i)", RegexOptions.Singleline);
Regex UrlMatchOnlyHttps = new Regex(@"(?i)(http(s)?:\/\/)(\w{2,25}\.)+\w{3}([a-z0-9\-?=$-_.+!*()]+)(?i)", RegexOptions.Singleline);
您也可以使用上面的正则表达式来验证 url
here 之前有人问过这个问题,但答案都是 PHP 相关的。 是否有使用 C# 的类似且有效的解决方案?像特定的测试 class 或常规? 我想解析 www.google.com 或 google.com 或 mywebsite.net 等...有或没有前缀。 谢谢
C# 也有 Regex,但这看起来更简单:
bool isUri = Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute);
(在 Regular expression for URL 回答)
你可以这样使用:
bool result = Uri.TryCreate(uriName, UriKind.RelativeOrAbsolute, out uriResult)
&& uriResult.Scheme == Uri.UriSchemeHttp;
https://msdn.microsoft.com/en-us/library/system.web.webpages.validator.regex(v=vs.111).aspx
您使用上面提到的 class 或使用下面的正则表达式并检查正则表达式与您的 url 字符串匹配
Regex UrlMatch = new Regex(@"(?i)(http(s)?:\/\/)?(\w{2,25}\.)+\w{3}([a-z0-9\-?=$-_.+!*()]+)(?i)", RegexOptions.Singleline);
Regex UrlMatchOnlyHttps = new Regex(@"(?i)(http(s)?:\/\/)(\w{2,25}\.)+\w{3}([a-z0-9\-?=$-_.+!*()]+)(?i)", RegexOptions.Singleline);
您也可以使用上面的正则表达式来验证 url