标签: regex perl
我有一个包含很多'_'的文件名,我想取_之间的数字。下面是我的代码尝试获取数字。
$file=~ m|\s+/b_(\d+)/.*|; my $number=$1; print " $number\n";
我的$文件类似于a_0_b_1_c2.txt。我想从文件名中获取数字1。我的代码有什么问题。感谢
答案 0 :(得分:3)
只需删除正则表达式中不相关的部分,请使用:
$file =~ m|b_(\d+)|;
答案 1 :(得分:3)
您可以组合这些行:
b
答案 2 :(得分:1)
正则表达式参考,以获得进一步的理解1,2
my $str = "a_0_b_1_c2.txt"; print "", ($str=~m/\_(\d+)\_([^\_]*)$/g)[0];