The new regexp,
"^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\[[0-9]\]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):"
^^^^^^^^^
isn't quite right: there are single-escaped square brackets, and the original regexp permitted multiple digits, not just one, between square brackets. The part
"\[[0-9]\]"
should probably be
"\\[[0-9]+]"
but the author needs to confirm this.