Флаги в строке шаблона в Kotlin
В начале шаблона можно указать встроенные
флаги в круглых скобках. Они действуют
на все выражение. Часто встречаются (?i)
(без учета регистра), (?m) (многострочный
режим для "^" и "$") и (?s)
(точка захватывает перевод строки).
Пример
Без флага шаблон [a-z]+ найдет только строчные буквы:
val txt = "aaa bbb CCC DDD"
val res = Regex("[a-z]+").replace(txt, "!")
println(res)
Пример
С флагом (?i) буквы любого регистра
попадут под шаблон:
val txt = "aaa AAA bbb BBB"
val res = Regex("(?i)[a-z]+").replace(txt, "!")
println(res)
Пример
Точка без (?s) не совпадает с переводом
строки. С флагом заменяются все символы:
val txt = "aaa\nbbb"
val without = Regex(".").replace(txt, "!")
val withFlag = Regex("(?s).").replace(txt, "!")
println(without)
println(withFlag)
Дана строка:
val txt = "Code CODE code"
Замените каждое слово "code" на
"*" без учета регистра и выведите
строку в консоль.