Пример регулярного выражения Go (Golang): извлечение адресов электронной почты

Вот пример регулярного выражения в Go (Golang) для сопоставления и извлечения адресов электронной почты из строки:

package main
import (
    "fmt"
    "regexp"
)
func main() {
    str := "Please contact me at john@example.com or jane@example.com"
    re := regexp.MustCompile(`\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b`)
    emails := re.FindAllString(str, -1)
    for _, email := range emails {
        fmt.Println(email)
    }
}

В этом примере шаблон регулярного выражения \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za -z]{2,}\bиспользуется для сопоставления адресов электронной почты. Затем функция FindAllStringиспользуется для поиска всех вхождений адресов электронной почты во входной строке str. Результатом является фрагмент строк, содержащий совпадающие адреса электронной почты.