golang регулярные выражения

Пользователь

Как работать в golang с регулярными выражениями ? Нужно спарсить инфу и чувствую без регулярки никак

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket
26 мая 2020 г., 23:03

Пользователь

Вот неплохой примерчик

// Поиск чисел из заданной строки использую 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/

Если до этого работали с регулярками - не должно быть особых проблем


27 мая 2020 г., 0:17

Пользователь

Регулярное выражение на Go – это символы в последовательности, они определяют шаблон поиска. Регулярное выражение a.b соответствует любой строке, она начинается с a, заканчивается на b и содержит один символ между ними (точка соответствует любому символу).


Проверить, есть ли подстрока, соответствующая a.b, нужно использовать функцию regexp.MatchString.



matched, err := regexp.MatchString(`a.b`, "aaxbb")
fmt.Println(matched) // true
fmt.Println(err)    // nil (regexp валидно)
31 мая 2020 г., 8:59