0
所以我測試了這個regex但是當我在python shell中試用它時,我沒有得到任何匹配。python正則表達式不匹配請求日誌消息
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
所以我測試了這個regex但是當我在python shell中試用它時,我沒有得到任何匹配。python正則表達式不匹配請求日誌消息
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()
將掃描通過串。
我需要遠離計算機並休息一下......感謝您的收穫 –