以下IP地址的Regex

以下IP地址的Regex,regex,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]

我非常感谢大家对这个正则表达式的帮助,我似乎无法解决这个问题。我知道这很简单,但很明显,我就是不明白

这是对上面所有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

  • \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}
        匹配可选的
        0
        1
        ,后跟任意数字一次或两次(0-199)
  • \b
    将位置断言为单词边界

您确定不能选择regex以外的工具来检索IP吗?因为这项任务太糟糕了。我正在TFS存储库中搜索所有IP地址,其中包含数千个文件。对更好的方法有什么建议吗?用正则表达式提取
\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}
格式中的数字,然后用一个具有IPWell概念的工具验证它们,无论如何,它都提供了一个非常好的答案,所以我可能只是在胡说八道。不要太信任前导和尾随的
\b
,尽管它们不能保证太多(例如,
999.32.12.31.45.999
)我真的不确定正则表达式是否是正确的工具,您可能希望通过数值比较来解析它。谢谢。我希望你能给我一个解释。补充解释,抱歉,花了点时间
\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