Regex Perl正则表达式匹配
编辑:我有一些难以表达的想法。让我重新开始。 我有一个从文件中读取字符串的循环:Regex Perl正则表达式匹配,regex,perl,Regex,Perl,编辑:我有一些难以表达的想法。让我重新开始。 我有一个从文件中读取字符串的循环: GigabitEthernet0/0 GigabitEthernet0/1 GigabitEthernet0/2 Serial0/0/0:0 Serial0/0/0:0.100 我正在尝试一些regexp来获取接口Serial0/0/0:0 但它不起作用。 我在一个在线REGEXP模拟器上尝试了几件事,但仍然。。没有结果。。。 我只想得到主接口Serial0/0/0:0,而不是子接口Serial0/0/0:0.1
GigabitEthernet0/0
GigabitEthernet0/1
GigabitEthernet0/2
Serial0/0/0:0
Serial0/0/0:0.100
我正在尝试一些regexp来获取接口Serial0/0/0:0
但它不起作用。
我在一个在线REGEXP模拟器上尝试了几件事,但仍然。。没有结果。。。
我只想得到主接口Serial0/0/0:0,而不是子接口Serial0/0/0:0.100
预期变量:
Serial0/0/0:0
我不想替换或获取子接口的一部分。我希望regexp与主接口匹配,而不与子接口匹配
很抱歉出现这种误解。如果要限制匹配,请使用锚定、^匹配字符串开头,使用$匹配字符串结尾:
/^Serial0(.*):0$/
这将只匹配以:0结尾的序列字符串。请尝试以下内容:
perl -ne 'print if $_ =~ /Serial0\/\d\/\d:\d$/' data.txt
将匹配Serial0/x/x:x,例如非Serial0/0/0:0.100可能有用吗
m/^Serial[^\.]*[\s\n\r]/g
您期望的输出是什么?我们应该了解接口和子接口指的是什么吗?对不起,我编辑了以使其更清楚
m/^Serial[^\.]*[\s\n\r]/g