新手求教个正则表达式:提取字段里面的某个位置的数字!解决思路

新手求教个正则表达式:提取字段里面的某个位置的数字!!!!!!!!!!!!!!!!
有个带有数字、字母和符号的字段,用正则表达式怎么提取其中某个位置的数字?
比如1@a45*9这个字段,我想提取第一个数字1,或者最后一个数字9,或者里面的某一个位置的数字,正则表达式该如何写?这个是个很菜鸟的问题,希望大家不要见笑,感谢!新手求教个正则表达式:提取字段里面的某个位置的数字!解决思路
------解决方案--------------------
# 第一个数字
echo 1@a45*9 
------解决方案--------------------
 sed 's/[^0-9]*\([0-9]\).*/\1/'


# 最后一个数字
echo 1@a45*9 
------解决方案--------------------
 sed 's/.*\([0-9]\)[^0-9]*$/\1/'