首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查IP地址的第四个八进制是否大于XXX的regex

检查IP地址的第四个八进制是否大于XXX的regex
EN

Stack Overflow用户
提问于 2015-08-13 10:05:57
回答 4查看 645关注 0票数 1

在我的程序中,我必须检查一个IP地址,只有当ip地址的第四个八进制大于XXX数时,才能进行欺骗。例如,XXX = 120。

代码语言:javascript
复制
       for example: 
       IP1 = 10.100.1.121
       IP2 = 10.100.1.119
       IP3 = 10.100.1.122

if($IP =~ /10\.100\.1\.**<120**/)

我试过像10\.100\.1\.[2-9][3-9][9-9]这样的东西,但这是不正确的。

有人能帮我吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-08-13 10:17:20

若要匹配120以上的数字,可以使用

代码语言:javascript
复制
/\b10\.100\.1\.(?:12[1-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])\b/

请参阅这个演示

票数 1
EN

Stack Overflow用户

发布于 2015-08-13 10:20:10

你可以试试

代码语言:javascript
复制
10\.100\.1\.(12[1-9]|1[3-9][0-9]|[2-9][0-9][0-9])
票数 3
EN

Stack Overflow用户

发布于 2015-08-13 11:19:18

为什么不把它除以,并在末尾检查整数呢?

代码语言:javascript
复制
def ips = ['10.100.1.121',
           '10.10.0.1',
           '10.100.1.119',
           '10.100.1.122']

def lastOctetGreaterThan(String ip, int number) {
    Integer.valueOf(ip.split(/\./).last()) > number
}

ips.each { ip ->
    println "$ip => ${lastOctetGreaterThan(ip, 120)}"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31985209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档