Regex 正则表达式模式匹配句子之间的随机字符串

Regex 正则表达式模式匹配句子之间的随机字符串,regex,Regex,我想匹配以下字符串: 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_di

我想匹配以下字符串:

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|
2017-03-17 07:33:17 |错误|响应| SOAP |验证|客户端| 504021500931703170733169658002 | | |发生服务错误。可能http消息非法或分析失败||OA:,DA:| 2017-03-17 07:33:17|
我想匹配的部分是:

出现服务错误。可能http消息非法或分析失败

它可以是任何内容,因为它包含详细的错误消息,包括特殊字符,并且没有任何特定的长度。然后它后面还有其他我可以匹配的字符。我已经能够匹配到“60027”部分,但是我很难在不使用“.*”正则表达式的情况下捕获随机字符,因为它捕获了之后的所有内容。有什么想法吗?

这是第11个字段:

^(?:[^|]*\|){10}([^|]*)

目标输入将在第1组中。

我认为正则表达式在这里是一种过度使用。为什么不直接用“|”分割字符串,然后提取第11个子字符串。

@zer00ne的答案做到了,使用(.*)\ |帮助我匹配到下一个“|”字符。谢谢大家

*?
使其成为“惰性”。匹配的部分是否应始终包含
错误
word?@RomanPerekhrest否,它不必包含word@zer00ne是啊,那奏效了!谢谢@彼得先生,非常欢迎您。快乐编码。