2[0-4]\d|25[0-5]|[01]?\d\d?这是ip地址的每一项的值,因为ip地址的每一项不超过255,所以要限定一下。能帮我解释下这个正则表达式吗?

解决方案 »

  1.   

    就是表示三个数中的一个数而已,建议看PHP手册关于正则的部分
    一目了然
      

  2.   

    2[0-4]\d|25[0-5]|[01]?\d\d?2                        代表  2
    [0-4]                    代表  0,1,2,3,4 中的任意一个数字\d                       代表  0-9中的任意一个数字相当于  【0-9】
    |                        代表    或者
    [01]                     代表  0,1 中的任意一个数字
    ?                        代表可有可无
      

  3.   

    补充楼上的,将2[0-4]\d|25[0-5]|[01]?\d\d?这个式被分为或者符合“|”分为三个部分,也就是说IP有以下三种可能
    1.2[0-4]\d:[0-4] 代表 0,1,2,3,4 中任一,\d代表数字
    整体表示从200~249
    2.25[0-5]
    表示250~255
    3.[01]?\d\d?:[01] 代表 0、1 中的任意一个数字,? 代表可有可无
    表示0到199
    个人感觉这里1?\d\d?更合适