package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(warning|error|note|help)(?:\[(.*)\])?\: (.*)\s+--> (.*):(\d+):(\d+)\n(?:((?:.+\n)+)\.+)?(?:[\d\s]+\|.*)*((?:\s+=.*)+)?`)
var 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.`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/