正则表达式匹配方括号

2024-01-15

我正在解析一个日志文件,并试图为以下标记编写正则表达式

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(使用前将#替换为@)

正则表达式匹配方括号 的相关文章

随机推荐