Функция matchEntire

Функция matchEntire класса Regex проверяет, соответствует ли вся входная строка регулярному выражению. В отличие от find, которое ищет частичные совпадения, matchEntire требует полного соответствия всей строки. Функция принимает один параметр - строку для проверки, и возвращает объект MatchResult или null.

Импорт

kotlinimport kotlin.text.Regex

Синтаксис

kotlinfun matchEntire(input: CharSequence): MatchResult?

Пример

Проверим, соответствует ли строка "12345" регулярному выражению "\\d+":

kotlinval regex = Regex("\\d+")
val res = regex.matchEntire("12345")
println(res?.value)

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

kotlinString "12345"

Пример

Проверим, соответствует ли строка "123abc" регулярному выражению "\\d+":

kotlinval regex = Regex("\\d+")
val res = regex.matchEntire("123abc")
println(res)

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

kotlinnull

Пример

Использование matchEntire с группами захвата:

kotlinval 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]}")
}

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

kotlinFull match: 123-456
First group: 123
Second group: 456

Пример

Проверка формата даты с использованием matchEntire:

kotlinval 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)

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

kotlintrue
false

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

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