Вот неплохой примерчик
1 2 3 4 5 6 7 8 |
// Поиск чисел из заданной строки использую FindAllStrings метод s := "I45, like345, Go-234 langu34age" m := regexp.MustCompile(`[-]?\d[\d]*[\]?[\d{2}]*`) res := m.FindAllString(s, 2) for _, ele := range res { fmt.Println("Number:", ele) } |
рекомендую документацию на офф сайте https://golang.org/pkg/regexp/syntax/
Если до этого работали с регулярками - не должно быть особых проблем
Регулярное выражение на Go – это символы в последовательности, они определяют шаблон поиска. Регулярное выражение a.b соответствует любой строке, она начинается с a, заканчивается на b и содержит один символ между ними (точка соответствует любому символу).
Проверить, есть ли подстрока, соответствующая a.b, нужно использовать функцию regexp.MatchString.
1 2 3 |
matched, err := regexp.MatchString(`a.b`, "aaxbb") fmt.Println(matched) // true fmt.Println(err) // nil (regexp валидно) |