具有特殊字符的文件名中的Grep编号

时间:2017-05-25 10:17:34

标签: regex perl

我有一个包含很多'_'的文件名,我想取_之间的数字。下面是我的代码尝试获取数字。

$file=~ m|\s+/b_(\d+)/.*|;
my $number=$1;  
print " $number\n";

我的$文件类似于a_0_b_1_c2.txt。我想从文件名中获取数字1。我的代码有什么问题。感谢

3 个答案:

答案 0 :(得分:3)

只需删除正则表达式中不相关的部分,请使用:

$file =~ m|b_(\d+)|;

答案 1 :(得分:3)

您可以组合这些行:

b

答案 2 :(得分:1)

正则表达式参考,以获得进一步的理解12

my $str = "a_0_b_1_c2.txt";

print "", ($str=~m/\_(\d+)\_([^\_]*)$/g)[0];