Kotlin:
Usando expressões regulares

Como Fazer:

Correspondência Básica

Para verificar se uma string corresponde a um padrão específico em Kotlin, você pode usar o método matches da classe Regex.

val pattern = "kotlin".toRegex()
val input = "Eu amo kotlin"
val result = pattern.containsMatchIn(input)

println(result)  // Saída: true

Encontrando e Extraindo Partes da String

Se você deseja encontrar partes de uma string que correspondam a um padrão, em Kotlin, você pode iterar sobre todas as correspondências:

val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "A data de hoje é 07/09/2023."
val dates = datePattern.findAll(input)

for (date in dates) {
    println(date.value)
}
// Saída: 07/09/2023

Substituindo Texto

Substituir partes de uma string que correspondem a um padrão é simples com a função replace:

val input = "Nome do usuário: usuario123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")

println(sanitizedInput)  // Saída: Nome do usuário: usuarioXXX

Dividindo Strings

Divida uma string em uma lista, usando um padrão regex como delimitador:

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

println(numbers)  // Saída: [1, 2, 3, 4, 5]

Bibliotecas de Terceiros: Kotest

Kotest é uma biblioteca de testes Kotlin popular que estende o suporte regex integrado de Kotlin, particularmente útil para validação em casos de teste.

// Assumindo que o Kotest foi adicionado ao seu projeto
import io.kotest.matchers.string.shouldMatch

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

// Isso passará no teste se a entrada corresponder ao padrão de email.

Ao incorporar expressões regulares em suas aplicações Kotlin, você pode realizar processamento de texto sofisticado de forma eficiente. Seja validando entrada de usuário, extraindo dados ou transformando strings, padrões regex oferecem uma solução robusta.