perl 字符串非连续匹配

有2个字符串变量:
$1 = '1,13,26,';
$2 = '1,12,13,15,26,79';

因为1,13,26在变量$2里都有,所以$2匹配$1。

请教高手,这个正则表达式要怎么写?

作者: moluowangzi   发布时间: 2011-05-17

本帖最后由 flw 于 2011-05-17 16:12 编辑

my $str1 = '1,13,26,';
my $str2 = '1,12,13,15,26,79';

$str1 =~ s/\d+/\\b$&\\b/g;
$str1 =~ s/,/.*/g;

if ( $str2 =~ /$str1/ ){
    say 'ok';
}
else{
    say 'ko';
}

作者: flw   发布时间: 2011-05-17

多谢版主!

不过这2个替换:
$str1 =~ s/\d+/\\b$&\\b/g;
$str1 =~ s/,/.*/g;
先研究一下。

多谢!

作者: moluowangzi   发布时间: 2011-05-17