c# 网址 正则表达式

要求:

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百度 

 

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


隔江千里
浏览 763回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP