问个弱问题

问个弱问题



怎么循环匹配输出呢

比如
$test="ajfl kasjfljk jlkkj klasjfk lkjksafjk kljsjkfl kjjk skk";

用模式匹配 k结尾的单词,循环输入结果

暂时想到这个
while($text=~/(\w+)k\b/){
        print "$&\n";
        $text = $';
}

有没有更好的?常规都怎么做



[Copy to clipboard] [ - ]
CODE:
$test="ajfl kasjfljk jlkkj klasjfk lkjksafjk kljsjkfl kjjk skk";
print $1,"\n" while($test=~/\b(\w+k)\b/g);



[Copy to clipboard] [ - ]
CODE:
$test="ajfl kasjfljk jlkkj klasjfk lkjksafjk kljsjkfl kjjk skk";
print grep s/\b\w+k\b/$&\n/,split/ +/,$test;

楼上的方法都不错啊


QUOTE:
原帖由 __lxmxn__ 于 2007-12-10 12:29 发表
$test="ajfl kasjfljk jlkkj klasjfk lkjksafjk kljsjkfl kjjk skk";
print grep s/\b\w+k\b/$&\n/,split/ +/,$test;

与你前一个方法相比, 这个效率低多了...
谢谢各位~perl这块就正则不好理解