Tag: 正则表达式

分割字符串的数字列表

我有一个String的列表,并没有正则表达式的技能。 所以我需要你的帮助。 第一串: [begin] 65. This tutorial walks you through a series of exercises to get familiar with Kotlin. 66. Kotlin Koans are a series of exercises to get you familiar with the Kotlin Syntax. 67. Each exercise is created as a failing unit test and your job is to make it pass. You can […]

正则表达式匹配字符串

我想通过正则表达式提取两个数字“[0-9] +” var str = "ABcDEFG12345DiFKGLSG938SDsFSd" 我想提取的是“12345”和“938”。 但我不知道如何在Kotlin这样做。 感谢您的帮助

正则表达式:识别任何类型的字符的元字符

我想能够识别以下模式: $…$ 与"…"是任何类型的字符。 Kotlin如何做到这一点?

正则表达式来查找整个单词

如果在"I am in the EU."这个字符串中存在一个单词,即"EU" ,我将如何发现? ,而不是像"I am in Europe."这样的案例"I am in Europe." ? 基本上,我希望某种形式的正则表达式,例如"EU" ,两边都是非字母字符。

将几个<script>标签合并到Kotlin中

考虑以下一段HTML代码: <script>…</script> <script>…</script> <div>…</div> <script>…</script> <script>…</script> <script>…</script> <script>…</script> <style>…</style> <script>…</script> <script>…</script> 我想将脚本部分合并为一个,如下所示: <script>…</script> <div>…</div> <script>…</script> <style>…</style> <script>…</script> 我试过这段代码: while (true) { val newSource = source.replace( "[<]script[>](.*?)[<]/script[>]\\s*[<]script[>]" .toRegex(setOf(RegexOption.MULTILINE, RegexOption.DOT_MATCHES_ALL)), "<script>$1</script>") if (source.equals(newSource)) { break; } source = newSource } 这不是优雅,不工作:-) 我想避免循环。 我可以写一个正则表达式来处理整个代码吗? 这实际上会导致只有一个<script>…</script> ,因为它将消耗中间的<div>和<style> 。 我如何禁止包含标签的内容?

为什么不展望未来,在Kotlin的正则表达式工作?

例: // Java System.out.println("one;two;th/;ree".split("(?<!/);").length); // 3 // Kotlin println("one;two;th/;ree".split("(?<!/);").size) // 1 如何纠正这个?

Kotlin:如何获得匹配的第一行的捕获组?

从一行开始 我想测试一个正则表达式是否匹配,如果是,得到第一个匹配 此外,我想从该正则表达式匹配中返回一个捕获组 如果我不在乎,我会先在线上做一个“第一”,如果存在,重新运行正则表达式。 val possibleMatch = input.lineSequence().first { myRegex.matches(it) } …但我想成为kotlin酷,不必重新运行正则表达式。 我应该使用地图到MatchGroup并过滤出空位吗? 感觉比它可能更冗长… input.lineSequence() .mapNotNull { myRegex.find(it) } .map { it.groupValues[1] } .first()

正则表达式或通配符在Kotlin的声明?

我正在为Kotlin和路由器上的RESTful应用程序工作,我使用了一个when语句,因为它是最具可读性和好看条件的。 有没有办法在when语句中使用正则表达式或通配符? (所以像“/ article / get /”这样的URI都会被传递给同一个控制器) 我的路由器的结构如下: when(uri) { "some/url" -> return SomeController(config).someAction(session) }

正则表达式在Kotlin中不匹配

我不明白为什么这个简单的正则表达式不匹配任何东西。 它总是失败并抛出异常: val match = Regex("""\d+""").matchEntire("A123B")?: throw Exception("Regex fail")

为什么在Kotlin中用正则表达式字符串分割的字符串与Java不一样?

我有以下Java代码: String str = "12+20*/2-4"; List<String> arr = new ArrayList<>(); arr = str.split("\\p{Punct}"); //expected: arr = {12,20,2,4} 我想要相当于Kotlin的代码,但是.split("\\p{Punct}")不起作用。 我不明白这里的文档: https : //kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/split.html