【发布时间】:2015-10-22 11:36:53
【问题描述】:
提供的输入“inputString”可能采用“0/1”、“0/1/2”、...(或任何其他由“/”分隔的至少两位数字的组合)的形式,我写了以下基于正则表达式的提取数字的表达式:
match = re.search("(\d)+/*", inputString)
为了列出最后两位数字,我使用了
match.groups()[-1], match.groups()[-2]
但是,使用“0/1”输入,我只能得到“0”。如何使用正则表达式创建特定的重复子字符串(在我的情况下为数字)。当然,.split('/') 是另一种选择,但我对正则表达式感兴趣。
【问题讨论】:
-
在你的最后一个例子中 - “0/1”作为输入的期望输出是什么?
-
您应该将
re.search替换为re.findall,可能。 -
另外,
/*在您的正则表达式中的用途是什么? -
@JonClements Desired 是 [0, 1]。
-
@WashingtonGuedes 从输入中可以看出,它不以“/”结尾