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