I have written regex to validate URL which could be either like
example.com
www.example.com
http://www.example.com
This works for me:
string pattern = @"^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$";
Regex regex = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
string url= txtAddressBar.Text.Trim();
if(regex.IsMatch(url)
{
//do something
}