在URL中,_F和C是固定的,而XX是動態整數。正則表達式匹配以_F結尾的URL <XX> _C <XX>
我已經試過這些模式:
^_F[\d+]_C[\d+]$
示例網址是:
_F23_C456
_F345_C1
我試圖符合這個表達式在Django的urls.py。
在URL中,_F和C是固定的,而XX是動態整數。正則表達式匹配以_F結尾的URL <XX> _C <XX>
我已經試過這些模式:
^_F[\d+]_C[\d+]$
示例網址是:
_F23_C456
_F345_C1
我試圖符合這個表達式在Django的urls.py。
你需要在它後面移動+
字符類之外,要麼刪除啓動的字符串錨^
,或插入.*
:
^.*_F\d+_C\d+$
或者
_F\d+_C\d+$
見demo
在字符類中,+
被字面處理,不作爲量詞,並且失去其與相匹配的一次或多次出現的含義。而你的正則表達式匹配字符串的開頭,下劃線,F
,一個數字或+
,下劃線,C
,一個數字或+
和字符串的結尾。
這就是爲什麼我總是添加一個註釋,將單個速記類放到字符類中並不是一個好習慣。 '[\ d]'等於'\ d',但是有很多人使用這樣的字符類。 –
我認爲你需要刪除'^',因爲OP試圖匹配「url ** ends **」和「_F
您可以使用正則表達式檢查網站快速檢查,如http://regexpal.com。 –
'^ _F(\ d +)_ C(\ d +)$'? – drmariod
你有什麼問題? –
方括號是什麼 - 你期待他們做什麼,到底是什麼? – jonrsharpe