正则表达式1

来源:互联网 发布:chrome收藏夹位置 mac 编辑:程序博客网 时间:2024/06/07 22:29

怎样用正则表达式匹配IPV4地址

我们先来考虑一些问题
单独的一个数字(表示0-9)
一个非零数字后紧跟着另外一个数字(表示10-99)
“1”后面跟着两个数字(表示100-199)
2”后面跟着一个”0”到”4”间的数字,后面又跟着一个数字(表示200-249)
“25”后面跟着一个”0”到”5”间的数字(表示250-255)

所以写法有

^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$

下面这个是我在做课程设计时看到的一种写法

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