正则表达式的字符串仅包含长度为2的数字并且它们之间有一个空格

时间:2019-01-15 23:54:35

标签: python regex

我正在研究输入的验证,并且需要一个仅包含最大长度为2的数字和它们之间有一个空格的正则表达式。

用于Python的正则表达式

import re

pattern="^[0-9_ ]{2}$"

check="01 03"

a=re.match(pattern,check)
if a == None:
    print'Not valid value'
else:
    print"valid value"

我得到的输出是无效值,这是怎么回事

1 个答案:

答案 0 :(得分:2)

您要使用{2}重复一个字符集,该字符集将与前两个标记完全匹配。如果字符串恰好包含两个字符,则只有匹配项。

相反,使用字符集[0-9]{1,2}来匹配一个或两个数字,然后匹配一个空格,再匹配该重复的字符集:

[0-9]{1,2} [0-9]{1,2}$