在我的程序中,我必须检查IP地址,并且只有当ip地址的第4个八位位组大于XXX数时才必须进行判断。例如,XXX = 120。
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]
的内容,但这不正确。
有人可以帮助我吗?
答案 0 :(得分:3)
你可以尝试
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];}
答案 1 :(得分:1)
答案 2 :(得分:0)
为什么不拆分它,并检查结尾处的整数?
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)}"
}
答案 3 :(得分:0)
你也可以这样做:
import java.net.InetAddress
def octet = InetAddress.getByName(ip) // x.x.x.x -> InetAddress
.getAddress() // InetAddress -> byte[]
.collect { it & 0xff } // positive numbers only
octet[3]
就是你想要的。该代码也适用于IPv6。