擅长:python、mysql、java
<p>您的正则表达式不允许在示例数据中存在的状态代码之前留有空格</p>
<p>另外,请注意,如果将字符串括在单引号中,则不需要转义双引号<code>"</code>。如果使用<code>\"</code>对它们进行转义,并使用原始字符串,则会引入一个普通的反斜杠</p>
<p>我使用的正则表达式是:</p>
<pre><code>regexp = re.compile(
r'(?P<clientIP>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).+\['
+ r'(?P<timestamp>\d{2}/[A-Z][a-z]{2}/\d\d\d\d).+"'
+ r'(?P<action>[A-Z]{3,4}).+"'
+ r'\s*(?P<statuscode>[1-5][0-9][0-9])'
)
</code></pre>