【发布时间】:2018-06-04 23:07:44
【问题描述】:
我有这句话:I have 10 bla, 50 blo, 10 blu
我想使用 regex 制作这样的字典:
dictionary = {
"bla": 10,
"blo": 50,
"blu": 10
}
如果我收到了这个短语:I have 50 blo, 5 blu,我会制作 dict,但没有键 bla。像这样:
dictionary = {
"blo": 50,
"blu": 5
}
编辑
- 不同的格式,例如:
I want 50 haha, 20 xxx, 17 y、I got 10 xxx, 17 hahaha, 3 xxx。 - 需要接受十进制数:
30.5,10,5
【问题讨论】:
-
格式是否总是“我有 x 样东西,y 样东西”
-
根据句子结构的严格程度,您最好使用自然语言工具包 (NLTK) nltk.org
-
没有。我收到其他格式,例如:
Hey, please, x something, y somethinelse... -
这两个示例不足以明确描述模式。除了它们都是可选的之外,您是否总是以相同的顺序拥有相同的三样东西?或者你有很多东西,但它们总是以
bl开头的三个字母的东西?或者只是在一些前缀字符串之后没有任何数字的任何数量的逗号分隔的NUMBER WORD对?或者…?你要么给我们规则,要么给我们足够的例子来让我们自己弄清楚规则,否则任何人写的任何东西都将是一个疯狂的猜测,并且可能是错误的和无用的。 -
看起来像是某种餐厅游戏,因此您需要一个包含所有介绍性短语的列表,例如“我想要”“嘿,请”。那么你甚至不需要正则表达式