我有一个示范班:
class ItemTag(models.Model):
name_regex = re.compile(r'[^,]')
name = models.CharField('Tag Name', max_length = 20, unique = True,
validators=[RegexValidator(regex=name_regex)] )
class Meta:
ordering = ['name']
我需要使用验证器来拒绝带逗号的字符串。我预料到了重新编译(r'[^,]')这样做,但事实并非如此。在
当我把它换成重新编译(r'[,]')它需要逗号,这正是我所期望的,但是character类的否定似乎没有如预期的那样工作,而且我在文档中找不到任何解释。在
我使用这些应用程序:
Python 2.6.5 Django 1.4.5款
[^,]
表示“一个字符,除,
之外的任何字符”。在所以你的正则表达式正在检查是否至少有一个非逗号字符。在
您可以使用此选项来确保字符串中只有非逗号字符:
^$
是分别匹配字符串开头和结尾的锚点。在使用负前瞻
(?!.*[,])
应使用以下正则表达式:
这将检查整个字符串以确保没有一个字符是
,
相关问题 更多 >
编程相关推荐