我正在解析一个日志文件,并试图为以下标记编写正则表达式
sshd[7623]:
我可以匹配 sshd 字符串,但是当匹配左方括号时,perl 只是抛出一个关于缺少右方括号的错误。
如果我尝试同时匹配两者,如下所示,我也不会发现。
$re1='(\\[)(\\d+)(\\])';
$re2='(\\[.*?\\])';
但两者都没有奏效。怎样才是正确的搭配方式呢?
这捕获括号之前的单词和括号内的数字:
use warnings;
use strict;
if ('sshd[7623]:' =~ /(\w+)\[(\d+)\]:/) {
print "word=$1 number=$2\n";
}
__END__
word=sshd number=7623
佩尔多克·佩尔雷 http://perldoc.perl.org/perlre.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)