python - 在正则表达式中预测 Web 服务器日志?

标签 python regex

说明

在我的日志中,有很多这样的行:

"[14/Oct/2014:13:02:15 +0200]","70","-","192.168.1.1","/API-1.2/testeo_keyword/vcn,ge/channel,rateber/site,bla_.de/keyword,null/px2.js","?ts=0.3054514767395726", "200","+", "http://www.bla.de/Arzt/Baden-W%C3%BCrttemberg/328-Heidelberg/Neurochirurgie/","Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50527; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; MS-RTC LM 8)","-"0/hurlau,superman;tile,4;status,0/pxl.js","?ts=0.3001205851715877", "200","+", "http://www.super.de/news/audio-video/carl-zeiss-praesentiert-3d-brille-100-euro-742545.html","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0","-"

要捕捉什么?

n - 2nd 字段(带有 URL 的字段)中,我需要捕获域名,并且对于我需要收集的每个 domain name=super.de整个网址。

我有什么?

我有这个正则表达式:http://regexr.com/39q1b我设法捕获了我需要的所有内容,但是我这样做的方式正确吗? ((匹配)匹配)。稍后我需要在所有domainname=“super.de”的地方收集整个URL。而且www也是可选的。注意:第一个URL出现(www.bla.de)需要被忽略。

最佳答案

我认为复杂的正则表达式可以简化,看看您捕获每个域的 URL name=super.de:

https?:\/\/(?:www\.)?super.de[^"]+(?!.*?super\.de)

RegEx Demo

关于python - 在正则表达式中预测 Web 服务器日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585113/

相关文章:

python - 使用正则表达式从字符串中提取信息

regex - 在clojure中读取制表符分隔的文件

c++ - 模仿 C++ 中的 shell 参数解析器

java - REGEX匹配问题

java - 如何在java中使用DOTALL捕获到最后一行末尾的所有内容

python - 类型错误 : post() missing 1 required positional argument

python - 创建 Django 数据库

python - 读取csv文件时如何以时间升序方式获取最近一天的行?

python - 插入短 HTML 文本时 QLabel 字体不同

python - 检测视频中的人脸,裁剪它们并以相同的顺序保存所有帧 - opencv python