Python regex re.findall

时间:2017-06-06 12:36:36

标签: python regex

我使用的是Python2.7,遇到以下问题,我有字符串:

s = 'No of tests:  23'

我正在使用以下正则表达式:

re.findall('No of tests: \d+',s)

显然正则表达式返回一个空列表。知道为什么吗?

1 个答案:

答案 0 :(得分:1)

您的字符串在数字前面包含2个空格。

当输入字符串是用户定义的并且空格可能有不同的数字时,最好使用\s*来匹配任何零个或多个空格字符。要确保有1个或多个空格,请使用\s+

因此,建议使用

r'No\s+of\s+tests:\s*\d+'

请注意,在Python中定义正则表达式模式时,原始字符串文字是最佳的(由于转义特殊字符,您不会遇到任何问题,但不是这里的情况)。