РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
409 of 1593 menu

Функция regexp.Compile

Функция regexp.Compile компилирует строку с регулярным выражением в объект типа *regexp.Regexp, который затем можно использовать для поиска, замены и других операций со строками. В первый параметр мы передаем строку с регулярным выражением, а возвращает функция два значения: скомпилированный объект и ошибку, если выражение содержит синтаксическую ошибку.

Синтаксис

regexp.Compile(pattern string) (*regexp.Regexp, error)

Пример

Давайте скомпилируем регулярное выражение для поиска цифр в строке "12345":

package main import ( "fmt" "regexp" ) func main() { re, err := regexp.Compile(`\d+`) if err != nil { fmt.Println("Error compiling regexp:", err) return } res := re.FindString("12345") fmt.Println(res) }

Результат выполнения кода:

"12345"

Пример

Давайте скомпилируем регулярное выражение для поиска букв в строке "abcde":

package main import ( "fmt" "regexp" ) func main() { re, err := regexp.Compile(`[a-z]+`) if err != nil { fmt.Println("Error compiling regexp:", err) return } res := re.FindString("abcde") fmt.Println(res) }

Результат выполнения кода:

"abcde"

Пример

Давайте попробуем скомпилировать некорректное регулярное выражение и обработаем ошибку:

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

Результат выполнения кода:

"Error: error parsing regexp: missing closing ]: `[a-z+`"

Смотрите также

  • функцию regexp.MustCompile,
    которая компилирует регулярное выражение и паникует при ошибке
  • функцию regexp.CompilePOSIX,
    которая компилирует выражение в стиле POSIX ERE
  • функцию regexp.MustCompilePOSIX,
    которая компилирует выражение POSIX и паникует при ошибке
  • функцию regexp.QuoteMeta,
    которая экранирует все специальные символы в строке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить