0
通過一些舊的代碼去過濾,我已經在這個表達式中的模型過濾跌跌撞撞:Django的怪異的正則表達式
"[[:<:]](%s)[[:>:]]" % value
我得到的內方括號匹配字符串方括號,但我不能」 t找到任何對冒號和lt/gt的引用。
這應該匹配什麼?
通過一些舊的代碼去過濾,我已經在這個表達式中的模型過濾跌跌撞撞:Django的怪異的正則表達式
"[[:<:]](%s)[[:>:]]" % value
我得到的內方括號匹配字符串方括號,但我不能」 t找到任何對冒號和lt/gt的引用。
這應該匹配什麼?
正如你的問題的評論者指出的那樣,這可能是一個錯誤,或者是你的鏈條上的某個人。我無法想象它會如何有用。但要明確回答你的問題,這裏有一些它會匹配的東西。這是假設的Python已經取代%s
與foo
[]foo:]
:]foo:]
<]foo:]
<]foo>]
[]foo>]
[]foo:]
[]foo[]
也許這是一個(失敗)試圖找到像<foo>
或:foo:
正則表達式的解釋(我已經刪除了重複:
這是多餘的,並似乎表明,這是所有錯誤,或不打算使用運行Python的re
):
[[:<] # match one `[` or `:` or `<`
] # one literal right bracket
( # open capture group
foo # literal string `foo`, or whatever replaced `%s`
) # close capture group
[[>:] # match one `[` or `>` or `:`
] # one literal right bracket
做什麼這一切意味着什麼?你的猜測和任何人一樣好。
這段代碼的內容是什麼?只是'「[[::<:]](%s)[[:>:]]」%value「並沒有多說'value'要加在'[[::<:]][[:>:]]部分的內部。它是如何稱呼,以及與什麼等? – timss 2013-04-21 00:06:13
@timss哇,4 upvotes,好的。這是來自模型過濾器的正則表達式,就像它在第一句中所說的那樣。問題是關於正則表達式本身。正則表達式匹配的是什麼?插值可以看作是非正則表達式特殊字符串,因此應該忽略。不確定是否有更多的上下文可供參考。 – cbaby 2013-04-21 23:29:31
什麼是「模型過濾器」應該是?或者你的意思是一個_template_過濾器?但無論如何:我希望看到這個「regexp」實際使用的行,因爲這真是一個非常奇怪的模式 - 很奇怪,我懷疑它是一個錯誤,或者不應該用於Python的bultin regexp模塊。 – 2013-04-22 08:04:50