一颗不安分的创业心

万能Url正则表达式[http,ftp,news,telnet.....]——史上最全Url正则表达式(基于RFC1738‏)

最近换了份工作,很少来园子里转了。

现在做的是SDET,测试协议,感觉还是没有应用开发有意思哦~~~~~~

由于工作需要写了一个包括所有Url的正则表达式,用来验证返回的Url是否符合RFC1738规定。

有兴趣的同学可以去看RFC1378关于Url部分的介绍(http://www.ietf.org/rfc/rfc1738.txt),本文中的代码是按其规定编写的。

在没有了解RFC1738的时候,一直以为Url的正则表达式很简单,没想到Url有这么多分类,更没想到一个普通的http的正则表达式也不是那么简单。

以下是我搜到的关于http的正则表达式:

http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

当然这已经满足大部分人的需求了,但是如果需要严格的验证的话还是要符合RFC1738了。

Url包括Http,Ftp,News,Nntpurl,Telnet,Gopher,Wais,Mailto,File,Prosperurl和Otherurl。

呵呵,废话不多说了,上代码

 

Code

 

有了Pattern剩下的就简单多了,无非就是正则表达式的验证了,以Http为例:

Http的pattern为string httpurl,假设要验证的Url为url,所以验证url的代码如下:

Regex regex = new Regex(httpurl);

bool isMatchHttp = regex.IsMatch(url);

呵呵,感谢大家观赏,今天就写到这里吧~~~~~~

FYI.

 

posted @   pangxiaoliang[北京]流浪者  阅读(7074)  评论(14编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
小豆芽之父
点击右上角即可分享
微信分享提示