首页 > 正则表达式分组匹配 uuid

正则表达式分组匹配 uuid

我model中使用了uuid,在urls中进行路由匹配时我做了以下几种尝试。

string: UUID('16fd2706-8baf-433b-82eb-8c7fada847da')

最初: 我是这么写:

 url(r'^qs/(?P<uuid>[^/]+)/$',....) (这样泛匹配,不好,做如下修改)


 url(r'^qs/(?P<pk>[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})/$',....)  (这样又太冗长,有人指点用分组做,于是有下面优化)


 url(r'^qs/(?P<pk>[A-Fa-f0-9]{8}-([A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12})/$',...)   这是将中间重复的分组利用了,但是[A-Fa-f0-9]这个却一直重复....

我想继续分组,将[A-Fa-f0-9]分组利用,但是始终却出现错误...我是这么写的:

 url(r'^qs/(?P<pk>(?<oo>[A-Fa-f0-9]){8}-\k<oo>{4}-\k<oo>{4}-\k<oo>{4}-\k<oo>{12})/$'

却报错:

"^qs/(?P<pk>(?<oo>[A-Fa-f0-9]){8}-\k<oo>{4}-\k<oo>{4}-\k<oo>{4}-\k<oo>{12})/$" is not a valid regular expression: syntax error     

贴出来,希望得到指点...我这样写有点分组嵌套的感觉,但又不知道怎么改善,所以看看大家怎么写


/([a-f\d]{8}(-[a-f\d]{4}){3}-[a-f\d]{12}?)/i

via:http://stackoverflow.com/questions/20553051/regex-to-match-numbers-or-uuid

【热门文章】
【热门文章】