寻找一些perl帮助。我对正则表达式不满意。但这基本上是我需要帮助的地方:
-strip out the leading blank line
-regex for any value after the directory `/foo/bar/set`, excluding trailing spaces
预期产出:
55
proxy
test.event.done
测试输入文件:
<leading blank :line here>
/foo/bar/set/55
/foo/bar/set/proxy
/foo/bar/set/test.event.done
代码:
while(my $line=<>) {
chomp($line);
if ($line =~ m#foo/bar/set/(not sure what to match here) {
print "$line\n";
}
}
答案 0 :(得分:2)
while (<>) {
if (m|^/foo/bar/set/(\S+)|) {
print "$1\n";
}
}
答案 1 :(得分:2)
如果输入是目录路径,并且您需要提取文件名,则可以 使用Perl File :: Basename模块的basename方法。
use File::Basename;
$filename = basename ($dirpath);
答案 2 :(得分:-1)
(。*)匹配行中的所有内容,您可以从$ 1获取值。
用它来测试你的正则表达式:http://regexpal.com/