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