Функция regexp.Match

Функция regexp.Match проверяет, соответствует ли переданная строка заданному регулярному выражению. Она возвращает true, если строка полностью соответствует шаблону, и false в противном случае. Первым параметром функция принимает строку с регулярным выражением, вторым - байтовый срез ([]byte), который нужно проверить.

Синтаксис

goregexp.Match(pattern, b)

Пример

Давайте проверим, содержит ли строка 'abcde' цифры:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  res, _ := regexp.Match(`[0-9]`, []byte("abcde"))
  fmt.Println(res)
}

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

gofalse

Пример

Давайте проверим, соответствует ли строка '12345' шаблону, состоящему только из цифр:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  res, _ := regexp.Match(`^\d+$`, []byte("12345"))
  fmt.Println(res)
}

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

gotrue

Пример

Давайте проверим, содержит ли строка 'a1b2c3' латинские буквы в нижнем регистре:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  res, _ := regexp.Match(`[a-z]+`, []byte("a1b2c3"))
  fmt.Println(res)
}

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

gotrue

Пример

Давайте проверим, соответствует ли строка '12345' шаблону с буквами:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  res, _ := regexp.Match(`[a-zA-Z]+`, []byte("12345"))
  fmt.Println(res)
}

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

gofalse

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

  • функцию regexp.MatchString,
    которая проверяет соответствие строки шаблону, принимая строку, а не байтовый срез
  • функцию regexp.MatchReader,
    которая проверяет соответствие шаблону, читая данные из io.RuneReader
  • функцию regexp.Compile,
    которая компилирует регулярное выражение в структуру Regexp для дальнейшего использования
  • функцию regexp.MustCompile,
    которая компилирует регулярное выражение и вызывает панику в случае ошибки