以下IP地址的正则表达式

时间:2018-02-12 14:35:21

标签: regex

我很感激这个正则表达式的一些帮助,我似乎无法解决。我知道这很简单,但显然,我只是没有得到它。

搜索上述所有IP地址:32.0.0.0,换句话说,所有地址从32.0.0.0到255.255.255.255

\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]?[0-9]|[3-9][0-9][3-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\b

1 个答案:

答案 0 :(得分:5)

See regex in use here

\b(?:0?3[2-9]|0?[4-9]\d|1\d{2}|2[0-4]\d|25[0-5])(?:\.(?:2[0-4]\d|25[0-5]|[01]?\d{1,2})){3}\b
  • \b断言位置为单词边界
  • (?:0?3[2-9]|0?[4-9]\d|1\d{2}|2[0-4]\d|25[0-5])匹配以下选项之一
    • 0?3[2-9]可选0,后跟3,后跟2-9(32-39)
    • 范围内的数字
    • 0?[4-9]\d可选0,后跟4-9范围内的数字,然后是任意数字(40-99)
    • 1\d{2}匹配1,后跟任意两位数(100-199)
    • 2[0-4]\d匹配2,后跟0-4范围内的任何数字,然后是任意数字(200-249)
    • 25[0-5]匹配25,后跟0-5(250-255)范围内的数字
  • (?:\.(?:2[0-4]\d|25[0-5]|[01]?\d{1,2})){3}完全匹配以下3次
    • \.匹配文字点
    • (?:2[0-4]\d|25[0-5]|[01]?\d{1,2})匹配以下选项之一
      • 2[0-4]\d匹配2,后跟0-4范围内的任何数字,然后是任意数字(200-249)
      • 25[0-5]匹配25,后跟0-5(250-255)范围内的数字
      • [01]?\d{1,2}匹配可选的01,后跟任意数字一次或两次(0-199)
  • \b断言位置为单词边界