专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

在C#中正则表达式校验IP格式写法

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:14:39       共计:3669 浏览

校验IP格式


public static bool ValidateIPAddress(string ipAddress)

{

Regex validipregex = new Regex(@"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");

return (ipAddress != "" && validipregex.IsMatch(ipAddress.Trim()))? true:false;

}


  


讲解


^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$




IP中每个十进制数,“|”号划分了5种情况:①0~9 ②10~99 ③100~199 ④200~249 ⑤250~255


{n}表示恰好匹配了n次

.){3}表示每个十进制数加’.'重复三次。最后加上最后一个十进制数即完成对IP的匹配。


C#中务必加上首尾的^和$,否则上述方法匹配-1.1.1.1这样的IP也会返回True

其他常用正则表达式

URL


((http|ftp|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?


 


讲解

该正则表达式匹配的字符串必须以http://、https://、ftp://开头


该正则表达式能匹配URL或者IP地址;(如:http://www.baidu.com或者 http://192.168.1.1)


该正则表达式能匹配到URL的末尾,即能匹配到子URL;(如能匹配:http://www.baidu.com/s?wd=a&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&inputT=1236)


该正则表达式能够匹配端口号


E-mail


(\w+\.) * \w+@(\w+\.)+[A-Za-z]+




讲解

\w匹配任何字母或数字

\W匹配除字母和数字外任何字符

\S匹配任何非空字符(除空格,换行,制表符等)


*表示匹配0或多次

+表示1或多次

.匹配任何除了\n以外的字符

?匹配0次或1次


贪婪模式和懒惰模式

(abc)de(fg)


对于上面的字符串如果使用(.)匹配,会得到(abc)满足,(abc)de(fg)同样满足,因为正则默认的是贪婪模式,会在得到第一个匹配项后进行回溯,尽量多的匹配满足条件的项,为了解决这个问题,可以使用(.?)表达式,在+或*后面加上?,就会在懒惰模式下进行匹配,得到第一个匹配项后不进行回溯,得到尽可能少的匹配项。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:怎样在C#中用正则表达式取出标签中内的内容 | ·下一条:Nginx也可以配置跟防火墙一样的添加黑名单或白名单功能

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有