АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
527 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Класс Regex

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

Импорт

import kotlin.text.Regex

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

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

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

fun matches(input: CharSequence): Boolean
fun containsMatchIn(input: CharSequence): Boolean
fun find(input: CharSequence, startIndex: Int = 0): MatchResult?
fun findAll(input: CharSequence, startIndex: Int = 0): Sequence<MatchResult>
fun replace(input: CharSequence, replacement: String): String
fun replace(input: CharSequence, transform: (MatchResult) -> CharSequence): String
fun 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->

Пример

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

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

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

Boolean false

Пример

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

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

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

Boolean true

Пример

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

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

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

String "hello"

Пример

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

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

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

String "hello***world***"

Пример

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

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

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

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

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

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