Regex, чтобы поймать 3 строки за 6 секунд

Я пытаюсь поймать 3 или более строк в моем лог-файле в течение 2 секунд. Экзамен

213.240.206.92 - - [22/Apr/2018:16:47:50 +0300] "POST /?wc-ajax=get_refreshed_fragments HTTP/2.0" 200 6295 "https://localhost/shop/peach/corral/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
213.240.206.92 - - [22/Apr/2018:16:47:51 +0300] "POST /?wc-ajax=get_refreshed_fragments HTTP/2.0" 200 6295 "https://localhost/shop/peach/black/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
213.240.206.92 - - [22/Apr/2018:16:47:52 +0300] "POST /?wc-ajax=get_refreshed_fragments HTTP/2.0" 200 6295 "https://localhost/shop/m/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
213.240.206.92 - - [22/Apr/2018:16:47:59 +0300] "POST /?wc-ajax=get_refreshed_fragments HTTP/2.0" 200 6295 "https://localhost/shop/choko/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"

В приведенном выше случае мне нужно поймать первые три строки, потому что он имеет 2-секундный интервал, но не 4-й, потому что он имеет 3-секундный интервал от предыдущего. Я могу поймать только строку, используя

^<HOST> - .*"POST /\?wc-ajax=get_refreshed_fragments HTTP/2\.0"

Но это не работает для мультилинии.

^<HOST> -.*"POST /\?wc-ajax=get_refreshed_fragments HTTP/2\.0".*\s.*"POST /\?wc-ajax=get_refreshed_fragments HTTP/2\.0".*\s.*"POST /\?wc-ajax=get_refreshed_fragments HTTP/2\.0"
  1. Как поймать 3 струны в течение 6 секунд?

  2. Нужно ли мне правильное регулярное выражение или я могу использовать свое единственное рабочее регулярное выражение и положить в jail.conf

    maxretry = 3

    findtime = 6

?

0 ответов

Другие вопросы по тегам