И как-то никто, по-моему, даже не намекнул на суть.
КМК, не хватает понимания, что (обычно) нельзя вызвать просто метод класса. Класс - это шаблон, по которому создаются объекты. Чтобы вызвать "метод класса", надо создать объект этого класса, а потом обратиться к объекту, мол, дорогой, вызови-ка свой метод такой-то.
Товарищ выше меня (слился, удалил ответ :)), возможно, понимает больше, но мне это не кажется невозможным.
Непосредственно написать сейчас не готов, но основная проблема же во вложенных фигурных скобках? Описанное здесь: habrahabr.ru/post/56765 или здесь не поможет?
Как вариант: https://www.coursera.org/course/webapplications
Начинается завтра, только вам, возможно, придется подтянуть какие-то предварительные знания.
"By the end of this course, I expect you to be able to:
Design, develop and deploy a modern web application. This course is not about how to build a pretty web page, it's about how to build and deploy the full stack of protocols and technologies associated with a complete web app.
..."
По идее должно быть достаточно просто повторить вторую часть четыре раза:
([^\r\n]*\R)[^\r\n]*\R[^\r\n]*\R[^\r\n]*\R[^\r\n]*\R?
или, свернув три:
([^\r\n]*\R)([^\r\n]*\R){3}[^\r\n]*\R?
Только это "сломается" в конце, если число строк не кратно пяти - последний блок из менее чем пяти строк этим выражением не найдется (и не соображу, можно ли улучшить).