簡體   English   中英

Python(django)正則表達式不起作用

[英]Python (django) regular expression does not work

我有這樣的表達:

^[0-9()|&~ ]*$

它應該通過如下字符串: '1 & 2 & 3''(4&1)|(2&3)'

但是當我輸入 string: '1 & 2iuasjhdawiudjsa'時,它會傳遞這個字符串。 然后我得到一個錯誤:“名稱'Trueiuasjhdawiudjsa'未定義”。

怎么了? 為什么 validators.RegexValidator 不會引發異常?

請幫忙!

在第三個驗證器中失敗。 如果我刪除了第 3 個驗證器,那么 RegexValidator 會引發錯誤,這是應該的。

expression = models.CharField(
        blank=True, max_length=225,
        validators=[validators.RegexValidator('^[0-9()|&~ ]*$'),
                    validate_logical_expression,
                    check_logic_operation_positions] # fails here, when try to 
                                                     # check logic
            ]
    )

解決這個問題:

def check_logic_operation_positions( ...):
    try:
        ...
    except NameError:
        raise ValueError(_('invalid name'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM