问题描述
(http|https)://((\w)*|([0-9]*)|([-|_])*)+([\.|/]((\w)*|([0-9]*)|([-|_])*))+
这个可以判断http://a.com是URL但是我想让a.com也判断是URL,即http://或https://可以不写,也算是URL,这个正则要怎么写?我这样写始终判断不出来:(?:((?:http(?:s)?://)?))?((\w)*|([0-9]*)|([-|_])*)+([\.|/]((\w)*|([0-9]*)|([-|_])*))+
解决方案
解决方案二:
@"^((http|https)://)?(www.)?[^.]+(.(com|net|cn|com.cn|com.net|net.cn))(/[^sn]*)?$"
解决方案三:
参考的这里哈。
解决方案四:
((http|https):){0,1}...
解决方案五:
@"^((http|https)://)?(www.)?[^.]+(.(com|net|cn|com.cn|com.net|net.cn))(/[^sn]*)?$"
试试这个。
解决方案六:
引用3楼caozhy的回复:
((http|https):){0,1}...
((http|https)://|)....
解决方案七:
(http://|https://)?w+.com我试了2个是可以的
解决方案八:
那你需要判断的东西多了.com,.net,.org,这些都是域名除了域名外还可以直接输入IP
解决方案九:
(?i)(https?://)?((\w)*|([0-9]*)|([-|_])*)+([\.|/]((\w)*|([0-9]*)|([-|_])*))+?代表匹配0-1次
解决方案十:
用正则验证URL字符串privatevoidbtn_Validate_Click(objectsender,EventArgse){if(!IsUrl(textBox1.Text))//验证网址格式是否正确{MessageBox.Show("网址格式不正确!!!");}//弹出消息对话框else{MessageBox.Show("网址格式正确!!!!!");}//弹出消息对话框}//验证网址格式是否正确///<paramname="str_url">网址字符串</param>///<returns>方法返回布尔值</returns>publicboolIsUrl(stringstr_url){returnSystem.Text.RegularExpressions.Regex.IsMatch(str_url,//使用正则表达式判断是否匹配@"http(s)?://([w-]+.)+[w-]+(/[w-./?%&=]*)?");}