【发布时间】:2012-05-31 19:33:35
【问题描述】:
我的输入字符串如下所示:
1 warning: rg: W, MULT: file 'filename_a.h' was listed twice.
2 warning: rg: W, SCOP: scope redefined in '/proj/test/site_a/filename_b.c'.
3 warning: rg: W, ATTC: file /proj/test/site_b/filename_c.v is not resolved.
4 warning: rg: W, MULTH: property file filename_d.vu was listed outside.
它们有上面列出的四种不同的口味。我从日志文件中逐行读取这些内容。
对于指定路径的那个(第 2,3 行),我可以使用 $file=~s#.*/##; 提取文件名,并且似乎工作正常。有没有办法不对不同类型使用条件语句并提取文件名?我只想使用一个干净的正则表达式并提取文件名。 Perl 的File::basename 在这种情况下也不起作用。
我正在使用 Perl。
【问题讨论】:
标签: regex perl text-extraction