fun includeDollarSymbolText(text: String): Boolean {
// Regex to match $word$, case-insensitive
val pattern = Regex("""\$\p{Lower}+\$""", RegexOption.IGNORE_CASE)
// Replace matched $word$ with empty string
val cleanedText = pattern.replace(text, "")
// Check if any dollar symbols remain
return !cleanedText.contains('$')
}
fun main() {
println(includeDollarSymbolText("abc xy \$text\$ z")) // ok
println(includeDollarSymbolText("abc xy \$ text\$ z")) // space
println(includeDollarSymbolText("abc xy \$\$ z")) // empty
println(includeDollarSymbolText("abc 100 \$text\$ z")) // ok
println(includeDollarSymbolText("abc \$1000 \$text\$ z")) // open $
println(includeDollarSymbolText("abc xy \$IBM\$ z \$Microsoft\$")) // ok
println(includeDollarSymbolText("abc xy \$F3\$ z")) // include number
println(includeDollarSymbolText("abc xy \$text z")) // missing close $
}
/*
run:
true
false
false
true
false
true
false
false
*/