IP地址正则表达式

一个IP字串,由四段组成,每一段是0~255的数字,段与段之间用小数点隔开,比如61.139.2.69就是一个合法的IP字串。
要匹配一个0~255之间的数,有几种匹配方式,下面是其中一种:

匹配 正则表达式 说明

[1-9]: 数字1-9
\d: 单个数字 0-9
10~99 [1-9]\d :两位数
100~199 1\d\d :百位为1的三位数
200~249 2[0-4]\d :三位数,百位是2,十位是0~9

250~255 25[0-5] :三位数,百位是2,十位是5,个位是0~5 

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

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

解释:

            2[0-4]\d 百位为2,十位为0-4,个位为0-9;

            25[0-5]  百位十位为25,个位为0-5;

           1\d{2} 百位为1,十位个位为00-99;

            [1-9]\d  十位为1-9 个位为0-9;

           [1-9] 数字1-9

或者

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

备注:象061这样的高位为0的数是不能被匹配的。 


(2)、   regex = @"^(2[0-4]\d |25[0-5]| [01]?\d?[1-9])\."+     
                           @"(2[0-4]\d | 25[0-5]| [01]?\d?\d)\." +
                           @"(2[0-4]\d | 25[0-5]| [01]?\d?\d)\." +
                           @"(2[0-4]\d | 25[0-5]| [01]?\d?\d)$";

解释:2[0-4]\d 百位为2,十位为0-4,个位为0-9;

            25[0-5]  百位十位为25,个位为0-5;

            [01]?\d?[1-9]   百位是0或者1或者没有百位,十位是0-9或者没有十位,个位是1-9:
            [01]? 匹配0,1,01;d?[1-9]匹配1-9,01-99
或者
      regex = @"^(2[0-4]\d|25[0-5]|[01]?\d?[1-9])\." +
                    @"((2[0-4]\d|25[0-5]|[01]?\d?\d)\.){2}" +
                    @"(2[0-4]\d|25[0-5]|[01]?\d?\d)$";

备注:可以匹配象061这样的高位为0的数。 

^ 匹配开始符

$ 匹配结束符


        public bool checkIP(string strIP)
        {
            string regex = @"^(2[0-4]\d | 25[0-5] | [01]?\d?[1-9])\." +
                            @"(2[0-4]\d | 25[0-5] | [01]?\d?\d)\." +
                            @"(2[0-4]\d | 25[0-5] | [01]?\d?\d)\." +
                            @"(2[0-4]\d | 25[0-5] | [01]?\d?\d)$";
            if (System.Text.RegularExpressions.Regex.IsMatch(strIP, regex))
            {
                return true;
            }
            else
            {
                return false;
            }

        }


 

 

 

 

  public bool checkIP(string strIP)
        {
            String regex = "^(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)$";
            if (System.Text.RegularExpressions.Regex.IsMatch(strIP, regex))
            {
                return true;
            }
            else
            {
                return false;
            }
        }


 

 

..

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值