I think you can do it using a positive lookahead until you encounter INFO or DEBUG or WARN.
ERROR[\S\s]*?(?=\s+INFO|DEBUG|WARN)
- Match
ERROR - Match any whitespace character or any non-whitespace character zero or more times non greedy
[\S\s]* - A positive lookahead
(?= - Assert that what follows is one or more whitespaces
\s+ - Followed by either INFO or DEBUG or WARN
INFO|DEBUG|WARN - Close the positive lookahead
)
Regex r = new Regex(@"ERROR[\S\s]*?(?=\s+INFO|DEBUG|WARN)");
1
solved Extract Log file value