re = /(warning|error|note|help)(?:\[(.*)\])?\: (.*)\s+--> (.*):(\d+):(\d+)\n(?:((?:.+\n)+)\.+)?(?:[\d\s]+\|.*)*((?:\s+=.*)+)?/
str = 'Compiling sample v0.1.0 (file:///home/sample/src/sample.rs)
error: cannot borrow immutable local variable `buffer` as mutable
--> src/sample.rs:29:32
|
26 | let buffer = String::new();
| ------ use `mut buffer` here to make mutable
...
29 | while ifile.read_line(&mut buffer).unwrap() > 0 {
| ^^^^^^ cannot borrow mutably
error: cannot borrow immutable local variable `buffer` as mutable
--> src/sample.rs:39:9
|
26 | let buffer = String::new();
| ------ use `mut buffer` here to make mutable
...
39 | buffer.clear();
| ^^^^^^ cannot borrow mutably
error[E0384]: re-assignment of immutable variable `buffer`
--> src/sample.rs:30:9
|
26 | let buffer = String::new();
| ------ first assignment to `buffer`
...
30 | buffer = buffer.replace("\\n", "");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ re-assignment of immutable variable
error: aborting due to 3 previous errors
error: Could not compile `sample`.
To learn more, run the command again with --verbose.'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html