Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpRgCp 103 of 280 menu
◀ ▶

Сборка шаблона в Go

Шаблон сначала собирают, а потом ищут им в строке. Сначала текст образца проверяют и компилируют в готовый объект, и только потом вызывают поиск или замену.

Команда Compile из пакета шаблонов возвращает готовый объект и второе значение с текстом сбоя, если скобки или квантификаторы расставлены неверно:

package main import ( "fmt" "regexp" ) func main() { re, err := regexp.Compile(`[a-z`) if err != nil { fmt.Println(err) } }

Команда MustCompile рассчитана на образец, который уже проверен: при ошибке в тексте шаблона программа останавливается. В следующих уроках, где шаблон верный, будем пользоваться ею:

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d+`) txt := "a12b" fmt.Println(re.FindString(txt)) }

Дан следующий код:

re := regexp.MustCompile(`a+`)

Скажите, зачем образец записан в обратных кавычках.

Дан следующий код:

_, err := regexp.Compile(`(`) fmt.Println(err != nil)

Скажите, будет ли ошибка при сборке.

Дан следующий код:

re := regexp.MustCompile(`x`) fmt.Println(re.FindString(`xax`))

Скажите, что выведется на экран.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить