perr中的qr函数

时间:2014-12-10 08:24:27

标签: regex perl

我试图在perl中使用qr函数,也想做Case不敏感的正则表达式匹配。以下是我想要做的事情:

my $pattern = qr(Buy Qty\[([0-9]+\.?[0-9]*)\]);
my $logPattern = "BUY Qty[200000]  On merchant site";

if($logPattern =~ /$pattern/i){
    print "MatchFound, Qty is ==> $1";
else {
    print "Match Not found";
}

然而,当我运行它时,它会给我"匹配未找到"因为它没有使这个正则表达式匹配不区分大小写。但是,如果我删除qr代码并使用相同的模式,它会给我正确的答案。

请让我知道我在这里缺少的东西。

1 个答案:

答案 0 :(得分:1)

您必须使用/i开关

编译正则表达式
my $pattern = qr(Buy Qty\[([0-9]+\.?[0-9]*)\])i;