package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`([\w-]+): (.+?)\\r\\n(?:([^:]+?)\\r\\n)?`)
var str = `MIME-Version: 1.0\r\n
x-no-auto-attachment: 1\r\n
Received: by 10.200.36.132; Sun, 5 Feb 2017 01:21:33 -0800 (PST)\r\n
Date: Sun, 5 Feb 2017 01:21:33 -0800\r\n
Message-ID: <IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII@mail.gmail.com>\r\n
Subject: =?UTF-8?Q?MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM?=\r\n
=?UTF-8?Q?ail?=\r\n \
From: =?UTF-8?B?VGhlIGZ1Y2sgYXJlIHUgbG9va2luZyBmb3I/?= <noreply@mail.com>\r\n
To: mail mail <mail@mail.com>\r\n
Content-Type: multipart/alternative; boundary=1a3xca651sv561fd321c5xv61sd12\r\n
`
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/