在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