La expresión regular se utiliza para buscar texto y una manipulación de texto más avanzada. Las expresiones regulares son una parte fundamental de casi todos los lenguajes de programación y Kotlin no es una excepción. En Kotlin , el soporte para expresiones regulares se proporciona a través de la clase Regex. Un objeto de esta clase representa una expresión regular, que se puede utilizar con fines de coincidencia de strings.
Podemos encontrar fácilmente el uso de expresiones regulares en diferentes tipos de software, desde las aplicaciones más simples hasta las increíblemente complejas.
Expresión regular de Kotlin
En Kotlin, construimos expresiones regulares con Regex.
Regex("pen") "pen".toRegex() Regex.fromLiteral("pen")
Un patrón define el texto que necesitamos buscar o manipular. Se compone de literales de texto y metacaracteres. Los metacaracteres son caracteres especiales que controlan la evaluación de la expresión regular. Por ejemplo, con \s buscamos espacios en blanco.
En Kotlin, algunos de los patrones de expresiones regulares se muestran en la siguiente tabla.
Patrón | Concepto | Ejemplo |
---|---|---|
^ | Hace coincidir el primer carácter de la string con el carácter dado | ^x |
ps | Hace coincidir el último carácter de la string con el carácter dado | x$ |
. | Este patrón coincide con cualquier carácter único. | ab. |
| | Esto se conoce como el operador de alternancia/OR. Esto combina dos o más patrones. | ^x | un $ |
? | Esto coincide con la aparición del carácter anterior como máximo una vez. | ¿ab? |
+ | Esto coincide con la aparición del carácter anterior al menos una vez. | abc+ |
* | Esto coincide con la aparición del carácter anterior cero o más veces. | xyz* |
[pqr] | Esto coincide con cualquier carácter individual presente en el conjunto. | [pqr] |
[ip] | Esto coincide con cualquier carácter único dentro del rango. | [ip] |
[^fsd] | Esto implica negación. Coincide con cualquier carácter excepto los especificados. | [^fsd] |
\s | Esta es la clase de carácter que coincide con los espacios en blanco. | \\s+ (Coincide con uno o más caracteres de espacio en blanco) |
\w | Esta es la clase de carácter que coincide con cualquier carácter que forma una palabra. | \\w |
Nota: Primero, creamos un patrón, luego podemos usar una de las funciones para aplicar al patrón en una string de texto. Las funciones incluyen find(), findall(), replace() y split().
Método de búsqueda() de Kotlin
Devuelve la primera coincidencia de una expresión regular en la entrada, comenzando en el índice de inicio especificado. En Kotlin, el índice de inicio predeterminado es 0.
Programa de Kotlin para usar el método de búsqueda:
Kotlin
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") }
Producción:
science found at indexes: 27..33
Método Kotlin findAll()
Devuelve una secuencia de todas las ocurrencias de una expresión regular dentro de la string de entrada dada.
Programa Kotlin de usar el método findAll –
Kotlin
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") } }
Producción:
Geeks indexes are: 0..4 Geeks indexes are: 8..1
El metacarácter punto (.)
El metacarácter de punto (.) denota cualquiera de los caracteres individuales en el texto.
programa kotlin-
Kotlin
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") } } }
Producción:
GeeksforGeeks matches McGeek matches
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA