python - wtforms.validators中的Regexp验证函数的flags参数有什么作用?
大家讲道理
大家讲道理 2017-04-17 17:59:08
0
2
740

wtforms的文档中是这样解释的:

表示没有看懂,请各位大神指点。主要疑惑在:

  1. for example re.IGNORECASE是什么意思,难道这个参数还等代表re模块中的其它常量?

  2. Ignored if regex is not a string.我觉得regex这个参数只能是string类型吧?还会有其它的情况嘛?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(2)
阿神

Saya tidak pernah menggunakan perpustakaan ini, tetapi saya akan menjawab mengikut pemahaman saya sendiri. Ini sepatutnya merangkumi beberapa fungsi biasa

1. Rujukan https://docs.python.org/2/library/re.html#re.compile
bendera: Lihat pemalar bendera tertentu

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. Apa yang dia maksudkan ialah jenis nilai yang diluluskan dalam regex bukan rentetan, abaikan


kemas kini:

Muat turun perpustakaan dan lihat kod sumber sepintas lalu:

site-packages/wtforms/validators.py talian 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

Mula-mula tentukan sama ada regx masuk ialah rentetan, dan kemudian susun

Ty80

Saya tidak tahu mengapa saya tidak boleh mengubah suai soalan, jadi saya akan menambah jawapan saya sendiri dan kemudian mensintesis jawapan yang diterima pakai.

Parameter
  1. flags diterangkan dalam dokumentasi modul re seperti ini:

Nilai ​​boleh menjadi mana-mana pembolehubah berikut, digabungkan menggunakan bitwise ATAU (pengendali |).

Pemalar ini boleh digunakan secara serentak menggunakan bit atau operator Nilai lalai ialah 0, yang bermaksud tiada pemalar bendera digunakan. for example

  1. Seperti yang ditunjukkan dalam kod sumber, jika

    bukan rentetan, maka tiada langkah kompilasi dan parameter ini secara semula jadi akan diabaikan. regex

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan