perl正则表达式帮助匹配除尾随空格之外的任何字符

时间:2011-04-08 21:35:02

标签: regex perl

寻找一些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";
    }
}

3 个答案:

答案 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/