Класс Regex

Класс Regex используется для работы с регулярными выражениями. Он позволяет проверять соответствие строк шаблону, извлекать совпадения, заменять части строки и разделять строки по шаблону.

Импорт

kotlinimport kotlin.text.Regex

Создание экземпляра

kotlinval regex = Regex(pattern)
kotlinval regex = Regex(pattern, option)
kotlinval regex = Regex(pattern, options)

Основные методы

kotlinfun matches(input: CharSequence): Boolean
kotlinfun containsMatchIn(input: CharSequence): Boolean
kotlinfun find(input: CharSequence, startIndex: Int = 0): MatchResult?
kotlinfun findAll(input: CharSequence, startIndex: Int = 0): Sequence<MatchResult>
kotlinfun replace(input: CharSequence, replacement: String): String
kotlinfun replace(input: CharSequence, transform: (MatchResult) -> CharSequence): String
kotlinfun split(input: CharSequence, limit: Int = 0): List<String>

<

+kotlin+> fun matchEntire(input: CharSequence): MatchResult?

<

-kotlin->

<

+kotlin+> fun replaceFirst(input: CharSequence, replacement: String): String

<

-kotlin->

<

+kotlin+> fun toPattern(): Pattern

<

-kotlin->

Пример

Проверим соответствие строки шаблону:

kotlinval regex = Regex("[a-z]+")
val input = "hello123"
val res: Boolean = regex.matches(input)
println(res)

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

kotlinBoolean false

Пример

Проверим наличие совпадения в строке:

kotlinval regex = Regex("[a-z]+")
val input = "hello123"
val res: Boolean = regex.containsMatchIn(input)
println(res)

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

kotlinBoolean true

Пример

Найдем первое совпадение в строке:

kotlinval regex = Regex("[a-z]+")
val input = "hello123world"
val res: MatchResult? = regex.find(input)
println(res?.value)

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

kotlinString "hello"

Пример

Заменим все совпадения в строке:

kotlinval regex = Regex("[0-9]+")
val input = "hello123world456"
val res: String = regex.replace(input, "***")
println(res)

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

kotlinString "hello***world***"

Пример

Разделим строку по шаблону:

kotlinval regex = Regex("\s+")
val input = "hello   world    kotlin"
val res: List<String> = regex.split(input)
println(res)

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

kotlinList<String> ["hello", "world", "kotlin"]

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

  • функцию find,
    для поиска первого совпадения с регулярным выражением
  • функцию findAll,
    для поиска всех совпадений с регулярным выражением
  • функцию matchEntire,
    для проверки полного соответствия строки регулярному выражению
  • функцию replace,
    которая заменяет совпадения в строке