您好我从文件中读取了以下字符串:
231 352 502 24 532 0 1234 5
如何使用perl正则表达式获取一串数字中的第一个数字?
我试过以下无济于事:
$num =~ /(\d+)/
感谢。
答案 0 :(得分:2)
$s = "231 352 502 24 532 0 1234 5";
($num) = $s =~ /(\d+)/;
print $num;
答案 1 :(得分:1)
对于给定的样本输入,下面的工作正常:
$ echo 231 352 502 24 532 0 1234 5 | perl -n -e 'print $1 if /(\d+)(.*)/'
231
$ echo 231 352 502 24 532 0 1234 5 | sed -r 's/([0-9]+)(.*)/\1/'
231
答案 2 :(得分:1)
你非常接近。
试试这个
my $line = '231 352 502 24 532 0 1234 5';
my ($num) = $line =~ /(\d+)/;
print $num;
<强>输出强>
231
答案 3 :(得分:0)