Використання регулярних виразів

Kotlin:
Використання регулярних виразів

Як це зробити:

Базове зіставлення

Щоб перевірити, чи відповідає рядок певному шаблону в Kotlin, можна скористатися методом matches класу Regex.

val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)

println(result)  // Вивід: true

Знаходження та видобування частин рядка

Якщо ви хочете знайти частини рядка, які відповідають шаблону, Kotlin дозволяє ітерувати по всім відповідностям:

val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "Сьогоднішня дата 07/09/2023."
val dates = datePattern.findAll(input)

for (date in dates) {
    println(date.value)
}
// Вивід: 07/09/2023

Заміна тексту

Замінити частини рядка, які відповідають певному шаблону, легко з функцією replace:

val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")

println(sanitizedInput)  // Вивід: Username: userXXX

Розбиття рядків

Розбийте рядок на список, використовуючи шаблон regex як роздільник:

val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())

println(numbers)  // Вивід: [1, 2, 3, 4, 5]

Бібліотеки сторонніх розробників: Kotest

Kotest — популярна бібліотека тестування для Kotlin, яка розширює вбудовану підтримку regex в Kotlin, особливо корисна для валідації у тестових випадках.

// Припускаючи, що Kotest додано до вашого проекту
import io.kotest.matchers.string.shouldMatch

val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()

// Це пройде тест, якщо вхідні дані відповідають шаблону електронної пошти.

Інтегруючи регулярні вирази у свої додатки Kotlin, ви можете ефективно виконувати складну обробку тексту. Незалежно від того, чи валідуєте ви вхідні дані користувача, видобуваєте дані або перетворюєте рядки, шаблони regex пропонують надійне рішення.