私はこのregexをテストしましたが、私がPythonシェルで試してみると、一致するものはありません。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シェルで試してみると、一致するものはありません。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.search()
を使用する必要があります
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.match()
は、文字列の先頭と一致する必要がある、re.search()
はをスキャンします:常に文字列の先頭からパターンと一致したので、すべては最初から一致している必要があります覚えre.match
してください文字列。
私はコンピュータから離れて休憩を取る必要があります...キャッチをありがとう –