Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Perl正则表达式匹配_Regex_Perl - Fatal编程技术网

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