在线求网址URL正则表达式!!!!

zy44995 2007-03-07 02:51:26
求2个正则:

1:网址URL正则表达式
要求不能输入“http://www.sohu”这样的URL
http://([\w-]+\.)+[\w-]+(/[\w-\.?%=]*)?这样是不能实现的,在网上找了好多都不正确.
2:比较两个texbox1和texbox2(texbox中可以混合输入中文、英文、数字),要求用正则判断texbox2中的文字是否包含在texbox1的文字中,举例:
texbox1中:“在要给分的回复后的文本框中填写分数”
texbox2中:“给分的回复”
上面两个TEXBOX中输入的为正确的内容!!
...全文
6243 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zy44995 的回复:]
我的第一个问题是希望如果用户输入http://www.sohu这样的URL应判定为无效(应该为http://www.sohu.com才是有效的URL)
[/Quote]
其实这个会有点难度,因为http://www.sohu虽然是错误的网站,但是http://sohu.com却是正确的网站,无法用正则来区分。
yang0000meng 2009-09-11
  • 打赏
  • 举报
回复
匹配URL网址的正则表达式[a-zA-z]+://[^s]
http://www.wearelearn.net/javascript/jsRegExp_12_52/415.html
比较全面的javascript用正则表达式匹配url网页地址
var strRegex = "^((https|http|ftp|rtsp|mms)?://)"

+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@

+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184

+ "|" // 允许IP和DOMAIN(域名)

+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.

+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名

+ "[a-z]{2,6})" // first level domain- .com or .museum

+ "(:[0-9]{1,4})?" // 端口- :80

+ "((/?)|" // a slash isn't required if there is no file name

+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";

var re=new RegExp(strRegex);
http://www.wearelearn.net/javascript/jsRegExp_12_52/519.html
yueshenfeng 2009-01-05
  • 打赏
  • 举报
回复
那具体的使用方法是怎么样的啊?
zhongzzf 2008-09-04
  • 打赏
  • 举报
回复
mark
zy44995 2007-03-07
  • 打赏
  • 举报
回复
呵呵!!晕了!!晕了!!晕了!!
不过谢谢"lxcnn(过客)"^http(s)?://(?!([\w-]+\.[\w-]+$))([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$符合我的要求了!!
-过客- 2007-03-07
  • 打赏
  • 举报
回复
事实上你的需求还是不明确的,你需要给出哪一类是不符合条件的,而不是单纯的一个实例,用下面的试下吧

^http(s)?://(?!([\w-]+\.[\w-]+$))([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$
confei 2007-03-07
  • 打赏
  • 举报
回复
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
zy44995 2007-03-07
  • 打赏
  • 举报
回复
foxfoxfoxchen(花粉过敏者)朋友!
我的第一个问题是希望如果用户输入http://www.sohu这样的URL应判定为无效(应该为http://www.sohu.com才是有效的URL)
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?真的是无法实现啊!!我复制过去的,也不会错
zy44995 2007-03-07
  • 打赏
  • 举报
回复
谢谢lxcnn(过客)!
我的第一个问题是希望如果用户输入http://www.sohu这样的URL应判定为无效(应该为http://www.sohu.com才是有效的URL)
另外像:http://community.csdn.net/Expert/topic/5381/5381667.xml?temp=.4872858也应该是有效的URL地址
foxfoxfoxchen 2007-03-07
  • 打赏
  • 举报
回复
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 这个表达式没错的,也许是你在匹配的时候写错了,看看
-过客- 2007-03-07
  • 打赏
  • 举报
回复
1、需求不明确,http://sohu.com是否正确,只从你所给的一个实例看不出你所要求的限定条件,具体说明一下

2、这个用楼上所给代码即可,效率比正则高,如果非要用正则的,用下面的

string src = textBox1.Text;
string aim = textBox2.Text;
if (Regex.IsMatch(src, @"+aim+"))
{
//包含
}
else
{
//不包含
}

这样做如果textBox2.Text包含一些正则中的特殊字符时,处理起来会有问题,所以还是用IndexOf的好
zy44995 2007-03-07
  • 打赏
  • 举报
回复
第一个问题用http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?仍无法解决问题.
还是没法判断:http://www.sohu这样的输入
第二个问题解决
暗石绿 2007-03-07
  • 打赏
  • 举报
回复
if(textBox1.Text.IndexOf(textBox2.Text) == -1)
{
// textBox2 不在textBox1 中。
}
else
{
// 在 
}
foxfoxfoxchen 2007-03-07
  • 打赏
  • 举报
回复
url正则表达式
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

第二个你是用什么语言啊,用字符串比较函数不就行了?正则表达式的话,你把2定义成一个pattern,然后再在1中查找
zy44995 2007-03-07
  • 打赏
  • 举报
回复
自己顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧