I want to match the following string of characters:

```
2017-03-17 07:33:17|ERROR|response|SOAP|validation|client|<IP_ADDR>|504021500931703170733169658002||<5_digit_figure>|A service error occurred. Maybe http message illegal or analyse failed!|<5_digit_figure>|OA:,DA:<7_digit_number>|2017-03-17 07:33:17|

```

The part which I want to match is this: 

*A service error occurred. Maybe http message illegal or analyse failed!*. 

It can be anything, as it contains the detailed error message, including special characters, and doesn't have any specific length. Then it is also followed by other characters which I can match. I have been able to match up to the '60027' section, but I have difficulty capturing the random characters without the use of the '.\*' regex as it captures everything after that. Any ideas?