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

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

от soledad , в категории: Общие вопросы , 4 года назад

Всем привет, недавно начал изучать Go и не могу понять, что такое регулярные выражения и с чем их едят? Можете пожалуйста объяснить, лучшего всего на примере реального кода.


Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

6 ответов

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

от newell , 4 года назад

Regexp – регулярное выражение, то есть это последовательность символов, которые определяют шаблон поиска. Помню, были такие задание на ЕГЭ по информатике, где есть имена файлов и шаблон поиска, regexp тоже самое.


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

от anastacio.hane , 4 года назад

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

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


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

от soledad , 4 года назад

Ну, теперь стало немного понятно. А можете показать на примере реального кода, чтобы я смог полностью понять? Мне просто на практике всегда легче изучать, чем на теории.


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

от anastacio.hane , 4 года назад

Ну вот для примера:

1
2
3
matched, err := regexp.MatchString(`a.b`, "aaxbb")
fmt.Println(matched) // true
fmt.Println(err)    // nil (regexp валидно)

 

Строка “aaxbb” подходит шаблону “a.b”, так как вместо точки может быть любое количество разных символов, а по краям есть “a” и “b”.


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

от bailee , 4 года назад

Вообще, если что-то непонятно, то можно смотреть на официальном сайте Go, там все специфики расписаны, правда он на английском, но в 21 веке с гугл переводчиком всё будет понятно.


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

от soledad , 4 года назад

О, теперь я полностью понял. И да, действительно, кто-то сказал, что в ЕГЭ по информатике есть задание, где есть имена и шаблон поиска. Вспомнил это, и сразу стало легче вникнуть.