我是regex的新手。
我正在尝试使用一个字符串1.3.6.1.2.1.4.22.1.2。*。192.168.1.1,但我不知道该怎么做。 我尝试了下面的内容,但是收到的错误就是说无法识别oid。
my $matchanyoid = "/(\d+)$/";
my $dot1dTpFdbAddress = '1.3.6.1.2.1.4.22.1.2.',$matchanyoid,'\.',$srcip;
答案 0 :(得分:1)
逗号不是连接运算符,点是:
my $dot1dTpFdbAddress = '1.3.6.1.2.1.4.22.1.2.' . $matchanyoid . '\.' . $srcip;
如果您正在尝试构建正则表达式,请注意前几个点没有反斜杠,因此它们可以匹配任何内容。为避免大量反斜杠,您可以使用\Q ... \E
构造:
my $matchanyoid = '(\d+)';
my $srcip = 12;
my $regex = qr/\Q1.3.6.1.2.1.4.22.1.2.\E$matchanyoid\.$srcip/;
print '1.3.6.1.2.1.4.22.1.2.123.12' =~ $regex;