linux 简单正则表达式帮助

9rbhqvlz  于 2023-05-06  发布在  Linux
关注(0)|答案(4)|浏览(253)

我正在努力为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 2577 "http://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"
请使用regex ace来帮助我们。
--编辑--
这是Fail 2ban上的ignoregex。我真的希望能够放置像/house这样的东西来捕获该目录中的所有文件,或者专门放置/house/jonross.html来匹配该HTML文件。再次感谢。

0wi1tuuw

0wi1tuuw1#

如果你说的“短语”是指“行”,那么在多行模式下就是^.*/city/index\.html.*$

lyfkaqu1

lyfkaqu12#

/"\w+ (.*?) HTTP\//将捕获请求的URL。

vc9ivgsu

vc9ivgsu3#

/^.*\/city\/index.html.*$/g

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

qco9c6ql

qco9c6ql4#

经过几个小时的试用和小时,在情况下,它帮助别人,这将忽略任何目录后的斜线后GET与这些话:
ignoreregex = .*\"GET \/(city|house|anything).*
对于.html,点需要转义。

相关问题