GigabitEthernet0/0
GigabitEthernet0/1
GigabitEthernet0/2
Serial0/0/0:0
Serial0/0/0:0.100
我正在尝试一些正则表达式来获取接口 Serial0 / 0/0:0
if ($lineSplitter[2] =~ /Serial0(.*):0[^(.\d)](.*)/ && $interfacebool eq "false"){
$interfaceNeeded = $lineSplitter[2] ;
}
但它不起作用。 我在在线REGEXP模拟器上尝试了几样但仍然......没有结果...... 我想要的是获得主界面(Serial0 / 0/0:0),不是子界面(Serial0 / 0/0:0.100)
预期变量:
Serial0/0/0:0
我不想替换或获取子接口的一部分。我希望regexp匹配主界面而不匹配sub-one
对此误解感到抱歉。
答案 0 :(得分:0)
如果要限制匹配,请使用锚点^
匹配字符串的开头,使用$
匹配字符串的结尾:
/^Serial0(.*):0$/
这只会匹配以Serial
结尾的:0
字符串。
答案 1 :(得分:0)
尝试以下内容:
perl -ne 'print if $_ =~ /Serial0\/\d\/\d:\d$/' data.txt
将匹配Serial0/x/x:x
(例如,不是Serial0/0/0:0.100
)
答案 2 :(得分:0)
可能会有帮助吗?
m/^Serial[^\.]*[\s\n\r]/g