我有一份产品说明的清单。例如:
items = ['avuhovi Grillikaapeli 320g','Savuhovi Kisamakkara 320g',
'Savuhovi Raivo 250g', 'AitoMaku str.garl.sal.dres.330ml', 'Rydbergs
225ml Hollandaise sauce']
我想提取的重量是,320g,320g,250ml,330ml,我知道我们可以使用regex来提取,但不知道如何构建regex来提取。您可以看到,权重有时位于描述的中间,有时使用点(.)作为分隔符,而不是空格。所以,我很困惑如何提取。在
提前感谢您的帮助:)
https://regex101.com/r/gy5YTp/4
用
\d+
匹配任何数字,然后用(?:ml|g)
创建一个匹配但没有选择的组,这将匹配ml或g我们所做的匹配返回找到的权重列表的列表,因此我们需要用
[y for x in groupedWeights for y in x]
将其展平如果你在一个元素中有一个以上的权重。否则我们可以像这样获取每个列表的第一个元素。在
^{pr2}$下面是一个可行的解决方案(使用Wiktor建议的}):
search
和{实际上,更好的解决方案(感谢Wiktor)是测试是否存在匹配项:
^{pr2}$相关问题 更多 >
编程相关推荐