正则表达式:常用字符串验证

时间:2011-12-02 14:27:05

标签: python regex

我正在做一些基本的验证。该计划的流程如下:

  • 用户输入字符串
  • 点击提交

现在我想确保满足以下规则:

  • 没有空格
  • 必须是字母数字......没有特别的角色! (即!@#$%^& *)
  • 必须以字母开头
  • 必须至少3个字符

如何使用python / django正则表达式执行此操作?

请帮助

2 个答案:

答案 0 :(得分:6)

你可以在没有正则表达式的情况下在Python中执行此操作:

if a.isalnum() and a[0].isalpha() and len(filter(str.isdigit, a)) >= 3:
    ...

如果根据@ Toomai“3位数字”是“至少3个字符长”,那么这就是你需要的:

if a.isalnum() and a[0].isalpha() and len(a) >= 3:
    ...

答案 1 :(得分:4)

试试这个

re.compile("^[A-Za-z]\w{2,}$")

>>> re.compile("^[A-Za-z]\w{2,}$")
<_sre.SRE_Pattern object at 0x0272C158>
>>> expr=re.compile("^[A-Za-z]\w{2,}$")
>>> expr.match("A12345")
<_sre.SRE_Match object at 0x02721288>
>>> expr.match("A1")
>>> expr.match("1AS")
>>> expr.match("AB1")
<_sre.SRE_Match object at 0x0272E138>
>>> expr.match("ab1")
<_sre.SRE_Match object at 0x02721288>
>>> expr.match("Abhijit$%^&#@")
>>>