匹配格式化的字母数字字符串中的正则表达式

时间:2014-10-31 14:57:44

标签: python regex

为什么

re.match(r"^[0-9]+minutes?$", "10 minute")

不匹配?

我还用过:

re.match(r"\d+minutes?$", "10 minute")

2 个答案:

答案 0 :(得分:0)

您忘记添加模式(\s)以匹配中间空格。

>>> re.match(r"\d+\sminutes?$", "10 minute")
<_sre.SRE_Match object; span=(0, 9), match='10 minute'>

由于re.match尝试匹配来自开头的输入字符串,因此您不需要设置起始锚^

答案 1 :(得分:0)

一个简单的^[0-9]+ minutes?$

会这样做。参见演示。

http://regex101.com/r/yG7zB9/12