perl正则表达式一个基础的有关问题

perl正则表达式一个基础的问题在Perl语言入门中有写加(+)的意思是可以匹配前面一项的一个或者多个#!c:/per

perl正则表达式一个基础的问题
在Perl语言入门中有写
加(+)的意思是可以匹配前面一项的一个或者多个
#!   c:/perl/bin/perl   -w
open   opFile, "a.txt ";
while   ( <opFile> )   {
if   (/[a-z]+/)   {
print   "$_ ";
}
}

a.txt

Fred
fredrick
Alfred
FRED


打印出来为什么是
Fred
fredrick
Alfred

为什么不是fredrick?


[解决办法]
因为Fred和Alfred里都有小写字母,而/[a-z]+/是匹配一个或多个小写字母的,这要你这个word里有小写字母就可以匹配,而不是要求整个word都是小写字母。
如果你要只匹配小写字母可以使用:/^[a-z]+$/