【正则问题】取一个特定字符为开头 非特定字符为结尾的单词方法

那你就全写出来嘛


QUOTE:
原帖由 cobrawgl 于 2008-7-24 14:59 发表
那你就全写出来嘛

为啥 /(\bs(.*)+[b-z]\b)/g 这样就不行呢 很奇怪啊
应该会有简单的办法 那个什么向前界定向后界定的好像可以

不明白,这样不行吗?

my $str = "saaaaa sdjfzv  saata sa%##%%¥aat swjfsd skdfje";
my @arr = split /\s+/, $str;
for my $arr(@arr){
print "$arr\t" if ($arr=~/^s\S*[^a]$/);
}


QUOTE:
D:\>perl -w 123.txt
sdjfzv  sa%##%%¥aat    swjfsd  skdfje



QUOTE:
原帖由 mouse.rice 于 2008-7-24 16:58 发表
不明白,为何硬要用正则!

my $str = "saaaaa sdjfzv  saata sa%##%%¥aat swjfsd skdfje";
my @arr = split /\s+/, $str;
for my $arr(@arr){
print "$arr\t" if ($arr=~/^s\S*[^a]$/);
}


哈哈哈 这都是学习问题 学习正则中想到的问题
可以的 方法很不错 先弄成数组在整

#!/usr/bin/perl      
@ar=qw(saaaaa sdjfzv  saata sa%%%aat swjfsda skdfje shdgf);
#print "@arr";
#foreach $
@arr = map {($_=~/^s.*[^a]$/g)} @ar;
print "@arr";

我的方法
兄弟真能折腾 不错,顺带温习了map函数和内插变量的用法


QUOTE:
原帖由 mouse.rice 于 2008-7-28 16:13 发表
兄弟真能折腾 不错,顺带温习了map函数和内插变量的用法

生命的意义 就在于折腾
前面的几种方法之所以不行,是因为忽略了贪婪匹配的问题。