This is a Kotlin implementation of VerbalExpressions, mostly based on the Java, Swift, and Scala implementations.
Simple URL test:
val verex = VerEx()
.startOfLine()
.then("http")
.maybe("s")
.then("://")
.maybe("www")
.anythingBut(" ")
.endOfLine()
val url = "https://www.google.com"
// regular test with VerEx method
if(verex.test(url)) {
println("Correct url")
}
// test with infix extension
if(url matches verex) {
println("Correct url")
}
Replacing strings:
val str = "I like birds and bridges"
val verex = VerEx()
.then("b")
.anythingBut(" ").zeroOrMore()
val result = verex.replace(str, "trains")
println(result) // I like trains and trains
For more usage examples, see the included tests.
<dependency>
<groupId>co.zsmb</groupId>
<artifactId>kotlinverbalexpressions</artifactId>
<version>0.1</version>
</dependency>
repositories {
jcenter()
// or, alternatively:
maven { url 'https://dl.bintray.com/zsmb13/KotlinVerbalExpressions/' }
}
dependencies {
compile 'co.zsmb:kotlinverbalexpressions:0.1'
}