【发布时间】:2016-03-30 21:17:58
【问题描述】:
我是 perl 新手,需要你的帮助。
我正在读取目录中文件的内容。
我需要从包含*.dat的文件中提取子字符串@
示例字符串:
1) # ** Template Name: IFDOS_ARCHIVE.dat
2) # ** profile for IFNEW_UNIX_CMD.dat template **
3) # ** Template IFWIN_MV.dat **
需要提取:
1) IFDOS_ARCHIVE.dat
2) IFNEW_UNIX_CMD.dat
3) IFWIN_MV.dat
我的代码:
if(open(my $jobprofile, "./profiles/$vitem[0].profile")) {
my @jobprofiletemp = <$jobprofile>;
close($jobprofile);
@proftemplates = grep /.dat/,@jobprofiletemp;
my $strproftemp = $proftemplates[0];
my ($tempksh) = $strproftemp =~ / ([^_]*)./;
print "tempksh: $tempksh","\n";
} else { warn "problem opening ./$_\n\n"; }
我的正则表达式不工作。 你有什么建议?
【问题讨论】:
-
检查这里:- regex101.com/r/jQ0oZ1/1 您可以使用
$1检索第一个捕获的组