首页 新闻 会员 周边

c# 网址 正则表达式

0
悬赏园豆:50 [已解决问题] 解决于 2013-02-20 17:19

要求:

1.支持http或https打头的字符串;
2.不含http的,但是以www打头的字符串;
3.不含http,但是支持xxx.com\xxx.cn\xxx.com.cn\xxx.net\xxx.net.cn 的字符串;

@"(?<![\w@]+)((http|https)://)?(www.)?[a-z0-9\.]+(\.(com|net|cn|com\.cn|com\.net|net\.cn))(/[^\s\n]*)?";

上面是一个别人提供的正则表达式,已经能满足这些要求,但有个问题
1、百度http://www.baidu.com百度    识别的时候把http://丢掉,没有识别全

2、百度www.baidu.com百度              识别的时候把www.丢掉,没有识别全   

3、百度baidu.com百度                      完全不识别

但是在 百度 和 URL 间加上空格又完全正确

1、百度 http://www.baidu.com百度        

2、百度 www.baidu.com百度

3、百度 baidu.com百度 

 

求大神给修改下,或者给个能满足上面要求的新的正则表达式

问题补充:

((http|https)://)?(www.)?[a-z0-9\.]+(\.(com|net|cn|com\.cn|com\.net|net\.cn))(/[^\s\n]*)?        自己改了改貌似对了

╰→劉じ尛鶴的主页 ╰→劉じ尛鶴 | 初学一级 | 园豆:73
提问于:2013-02-20 16:29
< >
分享
最佳答案
0
╰→劉じ尛鶴 | 初学一级 |园豆:73 | 2013-02-20 17:18
其他回答(1)
1

((http|https)://)?(www\.)?[A-Za-z0-9]+\.(com|net|cn|com\.cn|com\.net|net\.cn)

收获园豆:50
Yu | 园豆:12980 (专家六级) | 2013-02-20 17:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册