[正则学习问题] 有兴趣的帮忙解解~

[正则学习问题] 有兴趣的帮忙解解~

$str="snininininit twowowowowowo dwowo tatata";
如何取出 ni 或wo重复3次以上的单词  就是snininininit ,twowowowowowo
我用/\w*(ni|wo){3,}\w*/g
好像不行

my @t = /(\w*(?:ni|wo){3,}\w*)/g;
建议

perldoc perlre


QUOTE:
原帖由 cobrawgl 于 2008-7-24 17:15 发表
my @t = /(\w*(?:ni|wo){3,}\w*)/g;

这个有什么特别深意么  我就差这个 小骆驼书上没讲这个 现在在看小骆驼
分组但是不捕获


QUOTE:
原帖由 hfahe 于 2008-7-24 17:22 发表
分组但是不捕获

谢谢啦 我去研究一下


QUOTE:
原帖由 cobrawgl 于 2008-7-24 17:15 发表
my @t = /(\w*(?:ni|wo){3,}\w*)/g;

谢谢啦 今天你答了我好多问题 再次感谢
不客气


QUOTE:
原帖由 cobrawgl 于 2008-7-24 17:15 发表
my @t = /(\w*(?:ni|wo){3,}\w*)/g;

可行吗?


QUOTE:
原帖由 mouse.rice 于 2008-7-25 08:34 发表


可行吗?

可以的
#!/usr/bin/perl

$str="snininininit twowowowowowo dwowo tatataninini";
@arr=($str=~/(\w*(?:ni|wo){3,}\w*)/g);
print "@arr";

输出:
snininininit twowowowowowo tatataninini   符合要求