2014-10-31 81 views
0

爲什麼在一個格式化的字母數字字符串

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

不匹配匹配正則表達式?

我也用過:

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

你忘了'+'之間的空間'minutes' – fredtantini 2014-10-31 14:58:57

+0

而且'minutes' VS'minute' – CoryKramer 2014-10-31 14:59:13

+0

@Cyber​​他做的S可選的,所以沒有問題。 – 2014-10-31 15:00:33

回答

0

您忘記添加模式(\s)以匹配在兩者之間的空間。

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

因爲re.match嘗試匹配從一開始輸入字符串,你不需要把開始錨^