擅长:python、mysql、java
<p>您可以尝试以下代码:</p>
<pre><code>import re
lst = ['1 banana', '100 g of sugar', '1 cup of flour']
quantities = ['g', 'cup', 'kg', 'L']
altern = '|'.join(quantities)
r = r'(\d{1,3})\s*((?:%s)?s?(?:\s*\bof\b)?\s*\S+)'%(altern)
for x in lst:
print re.findall(r, x)
</code></pre>
<p>见<a href="https://ideone.com/h0hEZH" rel="nofollow">demo</a></p>
<p>输出:</p>
<pre><code>[('1', 'banana')]
[('100', 'g of sugar')]
[('1', 'cup of flour')]
</code></pre>