A expressão regular é usada para pesquisar texto e manipulação de texto mais avançada. As expressões regulares são uma parte fundamental de quase todas as linguagens de programação e o Kotlin não é exceção. No Kotlin , o suporte para expressão regular é fornecido por meio da classe Regex. Um objeto desta classe representa uma expressão regular, que pode ser usada para propósitos de correspondência de strings.

Podemos encontrar facilmente o uso de expressões regulares em diferentes tipos de software, dos aplicativos mais simples aos incrivelmente complexos.

Expressão regular do Kotlin
No Kotlin, criamos expressões regulares com o Regex.

Regex("pen")
"pen".toRegex()
Regex.fromLiteral("pen")

Um padrão define o texto que precisamos pesquisar ou manipular. Consiste em literais de texto e metacaracteres. Metacaracteres são caracteres especiais que controlam a avaliação da expressão regular. Por exemplo, com \ s procuramos espaços em branco.

No Kotlin, alguns dos padrões de regex são fornecidos na tabela a seguir.

PadrãoConceitoExemplo
^Corresponde o primeiro caractere da string ao caractere fornecido^ x
$Corresponde o último caractere da string ao caractere fornecidox $
.Este padrão corresponde a qualquer caractere único.ab.
|Isso é conhecido como operador alternação / OR. Isso combina dois ou mais padrões.^ x | um $
?Isso corresponde à ocorrência do caractere anterior no máximo uma vez.ab?
+Isso corresponde à ocorrência do caractere anterior pelo menos uma vez.abc +
*Isso corresponde à ocorrência do caractere anterior zero ou mais vezes.xyz *
[pqr]Isso corresponde a qualquer caractere único presente no conjunto.[pqr]
[ip]Isso corresponde a qualquer caractere único dentro do intervalo.[ip]
[^ fsd]Isso implica negação. Corresponde a qualquer caractere, exceto os especificados.[^ fsd]
\ sEsta é a classe de caractere que corresponde aos espaços em branco.\\ s + (Corresponde a um ou mais caracteres de espaço em branco)
\CEsta é a classe de caractere que corresponde a qualquer caractere que forma uma palavra.\\C

Nota: - Primeiro criamos um padrão, então podemos usar uma das funções para aplicar ao padrão em uma string de texto. As funções incluem find(), findall(), replace() e split().

Método find() de Kotlin

Ele retorna a primeira correspondência de uma expressão regular na entrada, começando no índice inicial especificado. No Kotlin, o índice inicial padrão é 0.

Programa Kotlin de usar o método find -

fun main(args : Array<String>) {
  
    val company = "GeeksforGeeks : A computer science portal for students"
  
    val pattern = "science".toRegex()
  
    val found = pattern.find(company)
  
    val m = found?.value
    val index = found?.range
  
    println("$m found at indexes: $index")
  
}
fun main(args : Array<String>) {
  
    val company = "GeeksforGeeks"
  
    val pattern = "Geeks".toRegex()
  
    val patt = pattern.findAll(company)
  
    patt.forEach { f ->
        val m = f.value
        val index = f.range
        println("$m indexes are: $index")
     }
}
fun main(args : Array<String>) {
  
    val names = listOf("GeeksforGeeks", "GeekyAnts", "McGeek")
  
    val pattern = "..Geek".toRegex()
  
    names.forEach { name ->
        if (pattern.containsMatchIn(name)) {
            println("$name matches")
  
        }
    }
}