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