使用Django 1.5.1我试图匹配:
/uploads/view/FILE_NAME.ext eg: /uploads/view/testfile.png
Run Code Online (Sandbox Code Playgroud)
目前:
uploads_url_patterns = patterns('',
url(r'^uploads/view/(?P<file_name>\w{0,256})/$', ShowImageView.as_view(), name='show'),
)
Run Code Online (Sandbox Code Playgroud)
但它不匹配/uploads/view/testfile.png.
因为我仍然在努力理解python正则表达式,我怎么能匹配所以我最终得到一个包含文件名及其扩展名的字符串,甚至更好,它的文件名和扩展名分别?
Mar*_*ers 11
\w不匹配.,因此.png扩展名不匹配.将.点添加到角色类.您还想删除尾部斜杠:
uploads_url_patterns = patterns('',
url(r'^uploads/view/(?P<file_name>[\w.]{0,256})$', ShowImageView.as_view(), name='show'),
)
Run Code Online (Sandbox Code Playgroud)
现在,这将匹配文字文本,uploads/view/后跟0到256个字母,数字,下划线和点.
快速演示:
>>> import re
>>> re.search(r'^uploads/view/(?P<file_name>[\w.]{0,256})$', 'uploads/view/test_filename.png')
<_sre.SRE_Match object at 0x103aa5828>
>>> re.search(r'^uploads/view/(?P<file_name>[\w.]{0,256})$', 'uploads/view/test_filename.png').groupdict()
{'file_name': 'test_filename.png'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3147 次 |
| 最近记录: |