gpt4 book ai didi

python - 为什么我的正则表达式也接受字母? ^[0-9\-\+_]

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:32 26 4
gpt4 key购买 nike

为什么我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com