pandas中如何从后向前提取字符串。

import pandas as pd
import re
#假如,df里面有一列a,每一行都是字符串,如“张山吃了10公斤香蕉,经查张山实际吃了5公斤”,又如何“李四吃了5公斤西瓜,实际上李四卖了3公斤香蕉”
如何我用df.str.extract('\d+?公斤')提取到会是第一个数字。
怎么能从后向前提取,提取后面出现的这组数字呢
extractall会排除nan。不符合要求。

>>> test
0    张山吃了10公斤香蕉,经查张山实际吃了5公斤
1    李四吃了4公斤西瓜,实际上李四卖了3公斤香蕉
dtype: object
>>> test.str.extract('\d+公斤.*(\d+公斤)')
     0
0  5公斤
1  3公斤
>>>

我也是试了半天才试出来的

又试了试,更简单

>>> test.str.extract('.+(\d+公斤)')
     0
0  5公斤
1  3公斤
>>>