diff --git a/libcasr/src/java.rs b/libcasr/src/java.rs index 7ee6c970..57f5a37e 100644 --- a/libcasr/src/java.rs +++ b/libcasr/src/java.rs @@ -20,7 +20,7 @@ impl ParseStacktrace for JavaStacktrace { conv_counter: usize, } // Get java stack trace. - let re = Regex::new(r"(?m)^(?:Caused by:|Exception in thread|== Java Exception:).*((?:\n(?:\s|\t)+at .*\(.*\))*)(?:\n(?:\s|\t)+\.\.\. (\d+) more)?").unwrap(); + let re = Regex::new(r"(?m)^(?:Caused by:|Exception in thread|== Java Exception:)(?:.|\n)*?((?:\n(?:\s|\t)+at .*\(.*\))+)(?:\n(?:\s|\t)+\.\.\. (\d+) more)?").unwrap(); let mut blocks = Vec::new(); for cap in re.captures_iter(stream) { let body: Vec<&'_ str> = cap