首页 > 解决方案 > 如何在perl的if语句中捕获由逻辑AND分隔的多个正则表达式组?

问题描述

这是代码 -

my $s_ver = 'port=":443"; d=3600; v="10,20"';
my $b_ver = 'FB10';

if ($s_ver =~ /(v="[0-9]+(,[0-9]+)*")/ && $b_ver =~ /FB(\d\d)/){
{
   print("$1 and $2\n");
}

电流输出 - 10 and

预期产出 - v="10,20" and 10

如何做到这一点?谢谢。

标签: regexperl

解决方案


if ( 
   ( my ($s_cap) = $s_ver =~ /(v="[0-9]+(?:,[0-9]+)*")/ ) &&
   ( my ($b_cap) = $b_ver =~ /FB(\d\d)/ )
) {
   print("$s_cap and $b_cap\n");
}

推荐阅读