使用python验证两个字符的代码

时间:2014-09-01 12:54:45

标签: python regex

我想验证字符串是否是有效代码;特别是,它应该是一对两个字符。想想2个字符的国家代码。使用re模块,我提出了以下内容:

valid = re.compile('([a-zA-Z]){2,2}')
if valid.match(s) and len(s) == 2:
    return True
else:
    return False

我觉得这根本不是最佳选择。我该如何优化此测试?

1 个答案:

答案 0 :(得分:6)

只需返回str.isalpha()的简单测试结果加上长度测试:

return len(s) == 2 and s.isalpha()

对于默认C语言环境中的字节字符串(例如,您没有使用locale模块更改语言环境),只有包含两个ASCII字母(大写或小写)的字符串才会生效

如果必须使用正则表达式,则锚定表达式:

return re.match('^[a-zA-Z]{2}$', s) is not None

is not None测试也给你一个布尔值。 <{1}}隐含^锚点,但明确表示没有伤害。

不使用正则表达式会更快:

re.match()