如何在Perl中仅获取字符串的第一个数字

如何在Perl中仅获取字符串的第一个数字,perl,figure,Perl,Figure,考虑以下字符串: AS58536:AS-V6PEERS 我只想买58536。 现在我将字符串拆分为:并删除所有非数字。 是否有一个选项可供查找,例如相邻数字的第一次出现并在第一个非数字字符处停止? 我只是想找一个漂亮的一行。如果您想匹配字符串中的第一个数字序列,那么下面的一个示例可能会对您有所帮助: echo "AS58536:AS-V6PEERS" | perl -ne '/(\d+)/ and print $1, $/;' perl -e '$string="AS58536:AS-V6

考虑以下字符串:

AS58536:AS-V6PEERS
我只想买58536。 现在我将字符串拆分为:并删除所有非数字。 是否有一个选项可供查找,例如相邻数字的第一次出现并在第一个非数字字符处停止?
我只是想找一个漂亮的一行。

如果您想匹配字符串中的第一个数字序列,那么下面的一个示例可能会对您有所帮助:

 echo "AS58536:AS-V6PEERS" | perl -ne '/(\d+)/ and print $1, $/;'
 perl -e '$string="AS58536:AS-V6PEERS"; $string =~ s/.*?(\d+).*/$1/; print $string,$/;'
我想这就是你的意思

相邻数字的第一次出现,并在第一个非数字字符处停止


我敢肯定,您可以找到一个足够简单的regexp来满足您的需求,我将替换第一个
进行编码>。快速回答!因为我的perl技能有限。您是否可以将其应用于类似$string=“AS45345:…”$字符串=~。。。。