在wtforms
的文档中是这样解释的:
表示没有看懂,请各位大神指点。主要疑惑在:
for example re.IGNORECASE
是什么意思,难道这个参数还等代表re
模块中的其它常量?
Ignored if regex is not a string.
我觉得regex
这个参数只能是string
类型吧?还会有其它的情况嘛?
阿神2017-04-17 18:01:08
没用过这个库 不过按照自己对re的理解来回答, 这应该是封装了一些正则的功能吧
1.参考 https://docs.python.org/2/library/re.html#re.compile
flags:查看具体的flag常量
re.DEBUG
re.I
re.IGNORECASE
re.L
re.LOCALE
re.M
re.MULTILINE
re.S
re.DOTALL
re.U
re.UNICODE
re.X
re.VERBOSE
2.他的意思是 regex传入的值类型不是string 忽略掉
update:
库下载下来看源码一目了然了:
site-packages/wtforms/validators.py 264行
def __init__(self, regex, flags=0, message=None):
if isinstance(regex, string_types):
regex = re.compile(regex, flags)
self.regex = regex
self.message = message
先判断传入的regx是不是string,然后compile
PHP中文网2017-04-17 18:01:08
不知道为什么不能修改问题,那么再加一个自己的回答好了,再综合一下采纳的答案。
flags
参数在re
模块的文档中是这样描述的:flags
参数在re
模块的文档中是这样描述的:
Values can be any of the following variables, combined using bitwise OR (the | operator).
这些常量可以使用位或运算符来同时使用,默认值为0,表示不使用任何标志常量,for example
也就说的通了。
正如源码所示,如果regex
for example
也就说的通了。🎜
🎜🎜🎜正如源码所示,如果regex
不是字符串,那么也就没有编译的步骤了,那么这些参数自然会被忽略。🎜🎜🎜