IP地址正则表达式

来源:互联网 发布:电子商务专业erp软件 编辑:程序博客网 时间:2024/06/05 08:26
一个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;            }        }


 

 

..

原创粉丝点击