[英]Python regular expression for matching 3 and 16 characters
我是正则表达式的新手,我正试图在Python中生成以下条件。
长度为3到16个字符且为字母数字或包含连字符(但不是第一个或最后一个字符 )的字符串 。
这是我到目前为止:
rule = re.compile(r'(^{0,16})')
if rule.search(value):
msg = u"Does not validate"
raise ValidationError(msg)
re.compile('[A-Z0-9][A-Z0-9-]{1,14}[A-Z0-9]', re.I)
这将在开头和结尾处接受字母数字字符,并且在它们之间需要1个14个字母数字或超级字符。
您可以使用format
缩短它:
'{0}({0}|-){1}{0}'.format('[a-zA-Z0-9]','{1-14}')
如果对整个查询固有的不区分大小写的要求,@ poke的版本会更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.