所以我测试了这个正则表达式,但是当我在python shell中尝试时,我没有得到任何匹配。
In [42]: r = re.match('([0-9a-z-]*.gif) (HTTP/1.0") (200)', '/asdf.gif HTTP/1.0" 200 0')
In [44]: print(r)
None
您错过了模式开头的正斜杠;请记住re.match
始终与字符串开头的模式匹配,因此所有内容都应从一开始就匹配:
r = re.match('/([0-9a-z-]*.gif) (HTTP/1.0") (200)', '/asdf.gif HTTP/1.0" 200 0')
# ^
r.group()
# '/asdf.gif HTTP/1.0" 200'
>也许你应该使用re.search()
,re.match()
需要匹配字符串的开头,re.search()
将扫描字符串。