回答:
.*最初に貪欲である-それはマッチングですfoo 6。それ以上のマッチングがマッチングからパターン全体を停止するので、それが去るので、それはそこに停止した唯一の理由は、ある5ため([0-9]+)。([0-9]*)代わりにそれを作った場合.*、行全体に一致し、グループには何も表示されません。これを回避する1つの方法は、最初の部分に数値と一致しないように指示することです。
$ echo "foo 65 bar" | sed -n -e 's/[^0-9]*\([0-9]\+\).*/\1/p'
65