Функция 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,
которая экранирует все специальные символы в строке