我在用Python。你知道吗
我有一些线索:
'1 banana', '100 g of sugar', '1 cup of flour'
我需要区分食物的数量。 我有一个数组的数量类型
quantities = ['g', 'cup', 'kg', 'L']
altern = '|'.join(quantities)
所以使用正则表达式我想得到,例如'1 cup of flour'
:'flour'
和'1 cup of'
,对于'1 banana'
:'1'
和'banana'
我编写了这个regexp来匹配上面字符串的数量部分:
\d{1,3}\s<altern>?\s?(\bof\b)?
但我对此非常不确定…特别是如何在正则表达式中引入altern变量。你知道吗
您可以尝试以下代码:
见demo
输出:
我认为你的
amounts
是units
,所以我冒昧地纠正了这个误称。我建议使用命名分组来简化对输出的理解。你知道吗输出如下:
所以你可以这样做:
我想你可以用这个:
第一部分得到
\1
,第二部分得到\2
。你知道吗[Regex Demo]
为了更好的正则表达式:
第一部分得到
\3
和\6
,第二部分得到\4
和\7
。你知道吗相关问题 更多 >
编程相关推荐