Введение в регулярные выражения в Kotlin
Регулярное выражение - это текстовый
шаблон для поиска, проверки и замены
фрагментов строки. В Kotlin с шаблонами
работает класс Regex из стандартной
библиотеки: его создают из строки или
вызывают расширение toRegex у строки
с шаблоном.
Шаблон состоит из обычных символов, которые совпадают сами с собой, и специальных символов - коротких команд вроде точки или звездочки. Специальные символы задают классы символов, повторения и границы текста.
Замену по шаблону выполняет метод replace
у объекта Regex: сначала указывают
исходную строку, затем строку, на которую
нужно заменить каждое совпадение. Простейший
пример выглядит так:
val res = Regex("a").replace("bab", "!")
println(res)
Результат выполнения кода:
b!b
Буквы и цифры в шаблоне обозначают те же
символы в тексте. Заменим цифру 2
на "!":
val res = Regex("2").replace("12abc3", "!")
println(res)
Точка в шаблоне - специальный символ: она
обозначает любой один символ. Найдем
фрагмент по шаблону буква "x",
любой символ, буква "x" и заменим
его на "!":
val res = Regex("x.x").replace("xax eee", "!")
println(res)
Дана строка:
val txt = "ahb acb aeb aeeb adcb axeb"
Напишите регулярку, которая найдет строки
"ahb", "acb", "aeb"
по шаблону: буква "a", любой
символ, буква "b".
Дана строка:
val txt = "aba aca aea abba adca abea"
Напишите регулярку, которая найдет строки
"abba", "adca", "abea"
по шаблону: буква "a", 2
любых символа, буква "a".
Дана строка:
val txt = "aba aca aea abba adca abea"
Напишите регулярку, которая найдет строки
"abba" и "abea", не захватив
"adca".