Функция regexp.MustCompile
Функция regexp.MustCompile компилирует регулярное выражение
в объект Regexp. В отличие от regexp.Compile,
эта функция не возвращает ошибку, а вызывает панику
при некорректном синтаксисе регулярного выражения.
Первый и единственный параметр принимает строку
с регулярным выражением для компиляции.
Синтаксис
regexp.MustCompile(pattern)
Пример с простым выражением
Давайте скомпилируем регулярное выражение для поиска цифр в строке:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\d+`)
res := re.FindString("abc123def456")
fmt.Println(res)
}
Результат выполнения кода:
"123"
Пример с некорректным выражением
При передаче некорректного регулярного выражения функция вызывает панику:
package main
import "regexp"
func main() {
re := regexp.MustCompile(`[a-z`)
_ = re
}
Результат выполнения кода:
panic: regexp: Compile(`[a-z`): missing closing ]
Пример с глобальной переменной
Функция часто используется для инициализации глобальных переменных на уровне пакета:
package main
import (
"fmt"
"regexp"
)
var digitRegexp = regexp.MustCompile(`\d+`)
func main() {
res := digitRegexp.FindAllString("123 456 789", -1)
fmt.Println(res)
}
Результат выполнения кода:
[123 456 789]
Смотрите также
-
функцию
regexp.Compile,
которая компилирует выражение с возвратом ошибки -
функцию
regexp.MustCompilePOSIX,
которая компилирует выражение в стиле POSIX с паникой -
функцию
regexp.CompilePOSIX,
которая компилирует выражение в стиле POSIX с возвратом ошибки -
функцию
regexp.Match,
которая проверяет соответствие строки регулярному выражению