读书人

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

发布时间: 2012-02-26 20:19:45 作者: rapoo

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]+$/

读书人网 >perl python

热点推荐