Вот пример регулярного выражения в 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. Результатом является фрагмент строк, содержащий совпадающие адреса электронной почты.