这是我的字符串:
my $var = "eval(sometext,'|function|65200|url|click|Chargement|margin'.split('|'),0,{}))"
我想获得数字65200,我试过这个my ($key) = $var =~ /eval.*?\|(\d+)\|.*$/
正则表达式,但我一无所获。
答案 0 :(得分:5)
如果您需要的是第一个由十进制数字组成的子字符串,那么它非常简单:
my $var = "eval(sometext,'|function|65200|url|click|Chargement|margin'.split('|'),0,{}))";
my ($num) = $var =~ /(\d+)/;
print $num;
<强>输出强>
65200
<强>更新强>
要提取由管道字符包围的第一个数字序列,只需使用
my ($num) = $var =~ /\|(\d+)\|/;