用正则表达式提取文件名称中的时间问题

用正则表达式提取文件名称中的时间问题

文件格式:
100251955_BSCGPRS-NO130100,1226508901
100251955_BSCGPRS-NO130100,1226508901.tf-attr
100251955_GPRS-NO130100,1226508774
100251955_GPRS-NO130100,1226508774.tf-attr
100251955_STSNBI-NO130100,1226509150
100251955_STSNBI-NO130100,1226509150.tf-attr
100251955_XFBSCOSSS1-NO130100,1226509080
100251955_XFBSCOSSS1-NO130100,1226509080.tf-attr
pm6103
tmp
tmp2
tmp3

if ($_=~/\d+_\S+-(\S+)\d+,\S+*/){
                $year=$1;
                print $year,"\n";
        }
我本想只区配时间,但是不但区配不到,还报错.请高手帮个忙.
[fly]php忠实网迷[/fly]
哪个表示的是时间啊?


QUOTE:
原帖由 HF.SKY000 于 2008-11-14 10:55 发表
/\d+_\S+-(\S+)\d+,\S+*/

报错是因为+号后面的*号
那应该怎么写呀?NO130100 表示的是时间.
[fly]php忠实网迷[/fly]
print $1 if /(NO.*),/;
这样不不行吧,现在是11月份,那到12月份或者其它时间,怎么办?
[fly]php忠实网迷[/fly]
print $1 if /-(.*),/;
if($=~/^\d+_\w+\-([^\,]+)\,\d+$/x)
现在明白了.谢谢了.
[fly]php忠实网迷[/fly]