gpt4 book ai didi

python - 用于检查是否在 2 个范围内找到 IP 的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:08 27 4
gpt4 key购买 nike

是否可以将正则表达式编写为一个表达式来检查是否在 2 个范围内找到 IP?

我可以分两步完成:

if ($ip =~ /$range1/ and $ip =~ /$range2/ ) {
print "intersection"
}

但我想知道是否可以在一个正则表达式中执行此操作:

if ($ip =~ /$my_regex/ ) {
print "intersection";
}

最佳答案

您可以使用模块 NetAddr::IP :

use strict;
use warnings;
use NetAddr::IP;

my @addresses = (
NetAddr::IP->new('192.168.172.1/255.255.0.0'),
NetAddr::IP->new('10.1.0.0/255.0.0.0'),
);

my $address_to_check = NetAddr::IP->new($IP_TO_CHECK);

foreach my $address_in_list (@addresses) {
if ($address_to_check->within $address_in_list) {
# do something
}
}

关于python - 用于检查是否在 2 个范围内找到 IP 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24179196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com