perl正则提取中文之间的数字

aizaidongzhi 2013-05-25 09:26:30
想要解析一个log,如下

========== 生成: 错误 5 个,告警 8 个 ==========

如何才能正确提取 5 和 8呢?
最近才研究正则,摸索半天,没搞出来,求高人指导!!
...全文
293 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aizaidongzhi 2013-05-27
  • 打赏
  • 举报
回复
[quote=引用 1 楼 cTx521 的回复:] 最近一直在做这个哈,给你说下,要用到解码加码方面的: 非常感谢,得到数据了。 我想的太多了,我把 错误 和 告警 分别解码之后,用变量接受,再把这两个变量去匹配了。。 执行完脚本后,报了Code point 0X..... is not Unicode, all \p{} matches fails;all \p{} matches succeed at test.pl line 20, <FH> line 1.这个问题大不。
cTx521 2013-05-27
  • 打赏
  • 举报
回复
最近一直在做这个哈,给你说下,要用到解码加码方面的:
use Encode;
use Data::Dumper;


my $resultErr = undef;
my $resultWar = undef;
sub getString
{
	
    my $file = "C:\\Users\\Desktop\\";

    $file = $file."log.txt";

    open FH, $file or die "not find $file: $!";

    my $a = undef;
    my $i = 1;
    while($a = <FH>) {
        $a = decode("utf8", $a);
        $a =~ /.*?(\d+).*?(\d).*/;
        $resultErr->{"Error".$i} = $1;
        $resultWar->{"Warning".$i} = $2;
        $i ++;
    }
    print Dumper $resultErr;
    print Dumper $resultWar;

    close(FH);
}


getString();

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧