Спецсимволы внутри наборов в Kotlin
Спецсимволы внутри [ ] становятся
обычными символами. Это значит, что их не
надо экранировать обратным слешем.
Пример
В данном примере шаблон поиска выглядит
так: между иксами любая буква 'a',
'b', 'c', либо точка:
val txt = "xax xbx xcx xdx x.x x@x"
val res = Regex("x[abc.]x").replace(txt, "!")
println(res)
Результат выполнения кода:
'! ! ! xdx ! x@x'
Пример
В данном примере шаблон поиска выглядит так: между иксами любая маленькая латинская буква или точка:
val txt = "xax xbx xcx x@x"
val res = Regex("x[a-z.]x").replace(txt, "!")
println(res)
Результат выполнения кода:
'! ! ! x@x'
Практические задачи
Дана строка:
val txt = "aba aea aca aza axa a.a a+a a*a"
Напишите регулярку, которая найдет строки
'a.a', 'a+a', 'a*a',
не затронув остальных.
Дана строка:
val txt = "xaz x.z x3z x@z x$z xrz"
Напишите регулярку, которая найдет строки
по шаблону: буква 'x', затем НЕ
точка, НЕ собака, и НЕ доллар, а потом
буква 'z'.