Regex perl中的qr函数
我试图在perl中使用qr函数,还想进行不区分大小写的正则表达式匹配。以下是我正在尝试做的事情:Regex perl中的qr函数,regex,perl,Regex,Perl,我试图在perl中使用qr函数,还想进行不区分大小写的正则表达式匹配。以下是我正在尝试做的事情: 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
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";
}
然而,当我运行它时,它会给我“Match Not found”,因为它不会使这个正则表达式匹配不区分大小写。但是,如果我删除二维码并使用相同的模式,它会给我正确的答案
请务必让我知道我缺少什么。您必须使用
/I
开关编译正则表达式
my $pattern = qr(Buy Qty\[([0-9]+\.?[0-9]*)\])i;
谢谢,它起作用了…但是为什么它忽略了m/中的/i开关呢context@ANewDeveloper建议编译正则表达式时使用
/msixpodual
标志。@ANewDeveloper,它没有被忽略<代码>$re=qr/a/;'Aa'=~/a$re/i将匹配。它只是不适用于指定应使用区分大小写匹配的子模式。