Метод regexp.Regexp.FindAllString

Метод regexp.Regexp.FindAllString выполняет поиск всех непересекающихся совпадений с регулярным выражением в переданной строке и возвращает их в виде слайса строк. В первый параметр метод принимает строку для поиска, во второй параметр - максимальное количество совпадений, которое нужно найти. Если передать -1, метод вернет все найденные совпадения.

Синтаксис

goregexp.Regexp.FindAllString(s, n)

Пример

Давайте найдем все числа в строке "abc123def456ghi789" с помощью регулярного выражения \d+:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\d+`)
  res := re.FindAllString("abc123def456ghi789", -1)
  fmt.Println(res)
}

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

go[123 456 789]

Пример

Давайте найдем только первые два числа в строке, передав во второй параметр значение 2:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\d+`)
  res := re.FindAllString("abc123def456ghi789", 2)
  fmt.Println(res)
}

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

go[123 456]

Пример

Давайте найдем все слова в строке "one two three four five" с помощью регулярного выражения \w+:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\w+`)
  res := re.FindAllString("one two three four five", -1)
  fmt.Println(res)
}

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

go[one two three four five]

Пример

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

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`[a-z]*a[a-z]*`)
  res := re.FindAllString("apple banana cherry date", -1)
  fmt.Println(res)
}

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

go[apple banana date]

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

  • метод regexp.Regexp.FindAll,
    который возвращает совпадения в виде слайса байтовых срезов
  • метод regexp.Regexp.FindString,
    который возвращает только первое найденное совпадение в виде строки
  • метод regexp.Regexp.FindAllStringSubmatch,
    который возвращает все совпадения вместе с подвыражениями
  • функцию regexp.MustCompile,
    которая компилирует регулярное выражение с паникой при ошибке