我已经设置了fail2ban来保护主机,我注意到了这条信息
#_daemon = asterisk
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>:.*" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
(?:::f{4,6}:)?(?P<host>\S+)
正则表达式如何工作?我一直在尝试一些不同的正则表达式检查器和解释器,没有人可以解析它,至少是(?P<host>\S+)
部分。
答案 0 :(得分:2)
(?P<name>regex)
将“regex”匹配的文本捕获到组“name”中。名称可以包含字母和数字,但必须以字母开头。
http://www.regular-expressions.info/refext.html
(?:::f{4,6}:)?(?P<host>\S+)
答案 1 :(得分:2)
它可以匹配::ffff:The_Host
之类的字符串,但::ffff:
部分是可选的。部分The_Host
部分被捕获到名为 host 的捕获组。
如果有超过6个字母,整个东西就成了主持人!
在the demo中,您可以看到一些匹配项。在右侧窗格中,您可以看到每个匹配的捕获组。