一个perl问题
$_="chmod711cgi";
/(\W)\s+(\d+)/;
print $_;
print $1;
为什么打印不出$1的值呢?
是不是只有存在匹配的字符串的话才能打印出$1的值啊?
问题点数:20、回复次数:5Top
1 楼flamingheart(火焰心)回复于 2004-10-04 13:49:56 得分 0
upTop
2 楼xyzxyz1111(程序员的自我修养)回复于 2004-10-05 01:00:37 得分 2
你要匹配什么呀?Top
3 楼crybigbaby(寻找快乐)回复于 2004-10-08 18:14:08 得分 3
这时为空,打出来当然是空啦,能打出来就有问题了Top
4 楼wti(wti)回复于 2004-10-08 22:21:48 得分 7
\W非英文字母或数字的字符串,和 [^a-zA-Z0-9] 语法一样Top
5 楼wybing(Hello World!)回复于 2004-10-09 08:54:17 得分 8
楼主想匹配什么呢,
同意楼上说的,\W非英文字母或数字的字符串,
所以/(\W)\s+(\d+)/中$1本来获取的就是空值,当然打印不出来.
Top




