我想在我的django项目中验证用户的评论。 在评论中,不允许使用这些字符: [*%& ! =' ; `]
什么是最好的正则表达式?
答案 0 :(得分:2)
答案 1 :(得分:2)
非常精确地遵循您的规范,正则表达式^[^\[\]*%&!=\';`]*$
完全符合您的描述。匹配:
^ the start of the string
[^ any character that is not:
*%&!=\';` any of: [ ] * % & ! = ' ; `
]* 0 or more times
$ the end of the string
所以在python中,
import re
pattern = re.compile(r'^[^\[\]*%&!=\';`]*$')
if pattern.match(my_string):
print('this is a valid comment')
else:
print('this is an invalid comment')
(请注意,您的用户可能会对他们的评论中可能不会惊呼的原因感到困惑。另外,如果您不想匹配空字符串,请使用+
代替*
: ^[^\[\]*%&!=\';`]+$
)