我正在尝试用正则表达式解析错误日志。它会给我我想要的一切,但现在我想省略文本" client",或者那个地方的任何文本。我想要的只是[]
之间的IP地址。
^\[([^]]+)\]\s*\[([^]]+)\]\s*\[([^]]+)\]\s*([A-Za-z ]*)[:]\s*([\/a-z-]*)$
这是日志中的一行。
[Mon Aug 23 15:25:35 2010] [error] [client 80.154.42.54] File does not exist: /var/www/phpmy-admin
答案 0 :(得分:2)
这应该这样做:
^\[([^]]+)\]\s*\[([^]]+)\]\s*\[[a-zA-Z ]*([0-9.]+)\]\s*([A-Za-z ]*)[:]\s*([\/a-z-]*)$
工作正则表达式示例:
匹配:(使用您的示例数据..)
1. `Mon Aug 23 15:25:35 2010`
2. `error`
3. `80.154.42.54`
4. `File does not exist`
5. `/var/www/phpmy-admin`