perl正则表达式截取

提问者:阿杰abc 提问时间:2018年03月05日 人气:0
用户提问
IF_MIB::=Counter32: 12345
IF_MIB::=Counter32: 1234556
如何在perl中用正则表达式截取最后一个冒号(冒号后面有一个空格)到结尾的一串数字呢?
数字的长度是不定的
推荐答案

截取最后一个冒号(冒号后面有一个空格)到结尾一串数字的Perl语言正则表达式如下

(?<=\:\s)\d+$

完整的perl语言程序如下

#!/usr/bin/perl
$str = "IF_MIB::=Counter32: 12345\nIF_MIB::=Counter32: 1234556";
while ($str =~ /(?<=\:\s)\d+$/mg){
    $match = $&; 
    print "$match\n"; 
}

运行结果
12345
1234556

[注]
正则表达式中的m表示将字符串视为多行,从而$匹配每一行的行尾
g表示匹配字符串中所有可能的匹配.
辅助答案
用户:那时雨ls
2018年04月25日
\:\s+\d+
这样
用户:长歌一曲sch
2018年03月10日
ief as investors expec