繁体   English   中英

正则表达式检查 Django 中的验证

[英]Regex to check validation in Django

我正在尝试在 Django 中为以下验证编写代码:“大写字母仅在第一个单词的字母或仅当单词中的所有字母都是大写时才允许使用”我已经这样做了,但它失败了,有人可以请帮我?

例如:

This is The GOOD day - acceptable
ThIS is THE gOOD day - not acceptable

我的代码:

RegexValidator(
        regex='(^[A-Z][\sa-z0-9]+$)|(^([A-Z]\w*\s*)+$)',
        message='Capital Letters are allowed only as first word letter or only if all letters in word are uppercase',
        code='invalid_capitalisation'
)

您可以使用

^(?!.*[a-z][A-Z])(?!.*[A-Z][a-z]+[A-Z]).*

查看正则表达式演示

细节

  • ^ - 字符串的开头
  • (?..*[az][AZ]) - 字符串中的任何位置都不允许小写字母后跟大写字母
  • (?..*[AZ][az]+[AZ]) - 不允许大写字母后跟任何 1 个或多个小写字母后跟一个大写字母在字符串中的任何位置
  • .* - 除换行符以外的任何 0 个或多个字符,尽可能多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM