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

Метод Regexp.FindAll

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

Синтаксис

re.FindAll(text, n)

Пример

Давайте найдем все последовательности цифр в строке:

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d+`) res := re.FindAll([]byte("abc123def456ghi789"), -1) fmt.Println(res) }

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

[[49 50 51] [52 53 54] [55 56 57]]

Пример

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

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`[a-z]+`) res := re.FindAll([]byte("abc123def456ghi"), 2) fmt.Println(res) }

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

[[97 98 99] [100 101 102]]

Пример

Давайте проверим случай, когда совпадений нет:

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d+`) res := re.FindAll([]byte("abcdef"), -1) fmt.Println(res) }

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

[]

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

  • метод Regexp.Find,
    который находит только первое совпадение
  • метод Regexp.FindAllString,
    который возвращает совпадения в виде слайса строк
  • метод Regexp.FindAllSubmatch,
    который возвращает совпадения с подвыражениями
  • метод Regexp.Match,
    который проверяет наличие совпадения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить