3.0 middleware events with regex

Based on the discussion on #3508, replacing the `Route` class by `preg:` prefix.