Regex 简单正则表达式帮助

Regex 简单正则表达式帮助,regex,linux,apache,Regex,Linux,Apache,我正在努力为Apache日志创建一个正则表达式。我使用的日志格式如下 我希望能够匹配“/city/index.html”所在的任何单词或短语 66-121-89-14.domain.com---[14/Apr/2011:14:47:05+0100]“GET/city/index.html HTTP/1.1”200 2577http://www.domain.com/referrer/“Mozilla/5.0(Windows;U;Windows NT 5.1;en-GB;rv:1.9.2.16)G

我正在努力为Apache日志创建一个正则表达式。我使用的日志格式如下

我希望能够匹配“/city/index.html”所在的任何单词或短语

66-121-89-14.domain.com---[14/Apr/2011:14:47:05+0100]“GET/city/index.html HTTP/1.1”200 2577http://www.domain.com/referrer/“Mozilla/5.0(Windows;U;Windows NT 5.1;en-GB;rv:1.9.2.16)Gecko/20110319 Firefox/3.6.16”

一个正则表达式ace能帮上忙吗

--编辑--

这是给Fail2ban上的ignoreregex的。我真的希望能够放置类似于
/house
的内容来捕获该目录中的所有文件,或者也可以专门放置
/house/jonross.html
来匹配该html文件。再次感谢。

如果“短语”是指“行”,则在多行模式下是
^.*/city/index\.html.*$

如果“短语”是指“行”,则在多行模式下是
^.*/city/index\.html.*

/^.*\/city\/index.html.*$/g
这将匹配包含路径/city/index.html的任何行

样品在

这将匹配包含路径/city/index.html的任何行


HTTP\/上的示例将捕获请求的URL。

将捕获请求的URL。

将捕获请求的URL。

经过几个小时的试用和一个小时后,如果它对其他人有帮助,这将忽略斜杠后的任何目录,使用以下文字:

ignoreregex=.*\\\/(城市之家任何东西)。*


对于
.html
需要转义点。

经过几个小时的尝试和一个小时后,如果它对其他人有帮助,这将忽略以下文字后斜杠后面的任何目录:

ignoreregex=.*\\\/(城市之家任何东西)。*


对于
.html
需要转义点。

我不确定这是否有帮助,但我注意到Google refine可以帮助解析Apache日志观看视频,非常容易使用如何定义短语?你在用grep吗?是否要将任何行与
/city/index.html
匹配,或者是否要执行更多操作?是否需要将搜索限制到特定列?如果不是,我不知道你为什么需要正则表达式。行上的一个简单的“string.Contains”应该可以做到这一点。。。除非我遗漏了某些内容。抱歉,我希望能够放置类似于
/house
的内容来捕获该目录中的所有文件,或者也可以放置专门匹配该html文件的
/house/jonross.html
。感谢所有帮助。如果这与“ignoreregex”有什么不同,那是Fail2ban的问题。我不确定这是否有帮助,但我注意到Google refine可以帮助解析Apache日志观看视频,非常容易使用如何定义短语?你在用grep吗?是否要将任何行与
/city/index.html
匹配,或者是否要执行更多操作?是否需要将搜索限制到特定列?如果不是,我不知道你为什么需要正则表达式。行上的一个简单的“string.Contains”应该可以做到这一点。。。除非我遗漏了某些内容。抱歉,我希望能够放置类似于
/house
的内容来捕获该目录中的所有文件,或者也可以放置专门匹配该html文件的
/house/jonross.html
。感谢所有帮助。如果这和“ignoreregex”有什么区别的话,那是因为Fail2ban。我可能应该说得更清楚,对不起,已经晚了。如果这与“ignoreregex”有任何区别,那就是Fail2ban。请看上面的评论。我可能应该说得更清楚,对不起,已经晚了。如果这与“ignoreregex”有任何区别,那就是Fail2ban。请看上面的评论。