Функция matchEntire
Функция matchEntire класса Regex проверяет,
соответствует ли вся входная строка регулярному выражению.
В отличие от find, которое ищет частичные совпадения,
matchEntire требует полного соответствия всей строки.
Функция принимает один параметр - строку для проверки,
и возвращает объект MatchResult или null.
Импорт
import kotlin.text.Regex
Синтаксис
fun matchEntire(input: CharSequence): MatchResult?
Пример
Проверим, соответствует ли строка "12345"
регулярному выражению "\\d+":
val regex = Regex("\\d+")
val res = regex.matchEntire("12345")
println(res?.value)
Результат выполнения кода:
String "12345"
Пример
Проверим, соответствует ли строка "123abc"
регулярному выражению "\\d+":
val regex = Regex("\\d+")
val res = regex.matchEntire("123abc")
println(res)
Результат выполнения кода:
null
Пример
Использование matchEntire с группами захвата:
val regex = Regex("(\\d+)-(\\d+)")
val res = regex.matchEntire("123-456")
if (res != null) {
println("Full match: ${res.value}")
println("First group: ${res.groupValues[1]}")
println("Second group: ${res.groupValues[2]}")
}
Результат выполнения кода:
Full match: 123-456
First group: 123
Second group: 456
Пример
Проверка формата даты с использованием matchEntire:
val dateRegex = Regex("\\d{2}\.\d{2}\.\d{4}")
val validDate = dateRegex.matchEntire("31.12.2023")
val invalidDate = dateRegex.matchEntire("31-12-2023")
println(validDate != null)
println(invalidDate != null)
Результат выполнения кода:
true
false
Смотрите также
-
функцию
find,
которая ищет первое частичное совпадение в строке -
функцию
matches,
которая проверяет соответствие всей строки -
функцию
containsMatchIn,
которая проверяет наличие хотя бы одного совпадения