Функция findAll

Функция findAll используется для поиска всех вхождений регулярного выражения в строке. Принимает строку для поиска в качестве параметра и возвращает последовательность MatchResult. Каждый MatchResult содержит информацию о найденном совпадении, включая значение и позицию в строке.

Импорт

kotlinimport kotlin.text.Regex

Синтаксис

kotlinfun Regex.findAll(input: CharSequence): Sequence<MatchResult>

Пример

Найдем все цифры в строке "a1b2c3d4e5":

kotlinval regex = Regex("\\d")
val input = "a1b2c3d4e5"
val matches = regex.findAll(input)

for (match in matches) {
  println("Found ${match.value} at ${match.range}")
}

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

kotlinFound 1 at 1..1
Found 2 at 3..3
Found 3 at 5..5
Found 4 at 7..7
Found 5 at 9..9

Пример

Найдем все слова из 3 букв в строке "cat dog fox bird":

kotlinval regex = Regex("\\b\\w{3}\\b")
val input = "cat dog fox bird"
val matches = regex.findAll(input).toList()

println(matches.map { it.value })

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

kotlinArray<String> ['cat', 'dog', 'fox']

Пример

Найдем все email-адреса в тексте:

kotlinval regex = Regex("\\b\\w+@\\w+\\.\\w+\\b")
val input = "Contact us: info@example.com or support@test.org"
val matches = regex.findAll(input)

matches.forEach { println(it.value) }

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

kotlinString "info@example.com"
String "support@test.org"

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

  • функцию find,
    которая находит первое совпадение в строке
  • функцию matches,
    которая проверяет полное соответствие строки шаблону
  • функцию containsMatchIn,
    которая проверяет наличие хотя бы одного совпадения
  • функцию replace,
    которая заменяет совпадения в строке