perl 字符串非连续匹配
有2个字符串变量:
$1 = '1,13,26,';
$2 = '1,12,13,15,26,79';
因为1,13,26在变量$2里都有,所以$2匹配$1。
请教高手,这个正则表达式要怎么写?
$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';
}
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;
先研究一下。
多谢!
不过这2个替换:
$str1 =~ s/\d+/\\b$&\\b/g;
$str1 =~ s/,/.*/g;
先研究一下。
多谢!
作者: moluowangzi 发布时间: 2011-05-17