为什么我的 regex
也接受字母?例如:
- test123 - 它有效(显示错误消息)
123abc - 不工作(不显示错误消息)
test = forms.RegexField( max_length=15, regex=r'^[0-9\-\+_ ]', error_message=_(u"Only digits0-9 and +, _, -"), required=True, label=_(u'Test'))
它应该接受由 0-9 和这些特殊字符组成的字符串:+、_、-、""(空格)
最佳答案
您的正则表达式仅测试字符串的开头 - 实际上它仅测试字符串的第一个字符。如果 [0-9\-\+_ ]
是您想要的整个字符串,那么在末尾添加一个 +$
:
regex=r'^[0-9\-\+_ ]+$'
这表示整个字符串,从头到尾,只允许包含方括号内的字符。
关于python - 为什么我的正则表达式也接受字母? ^[0-9\-\+_],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477625/