为什么要使用此正则表达式,我的最后两行不匹配,但只有最后一行不能与之比较
Regex("""((([0-1][0-9]|2[0-3]):([0-5]\d|60):([0-5]\d|60))\n)+""")
当我这样写
Regex("""((([0-1][0-9]|2[0-3]):([0-5]\d|60):([0-5]\d|60))\n?)+""")
最后一行不适合此正则表达式
我的文字是
13:15:19
07:26:57
10:00:03
19:56:14
13:15:19
00:40:31
我从文件中读取了内容,然后像这样匹配它们
val format = Regex("""(([0-1]\d:|2[0-4]:)([0-5]\d|60)(:[0-5]\d|60)(\n)?)+""")
.matches(File(inputName).readText())
但这是不正确的,因为如果两行之间不包含\ n,它将不适合格式,就像我之前说过的,即使此正则表达式也看不到最后一行。我做错了什么?我已经完成了此代码,但不知道其他解决方案有什么问题
File(inputName).readLines().map { it ->
val f = Regex("""(([0-1]\d:|2[0-4]:)([0-5]\d|60)(:[0-5]\d|60)(\n)?)""")
.matches(it)
if (!f) {
throw IllegalArgumentException("File format")
}
}
val ss = "00:40:31\n" +
"07:26:57\n" +
"10:00:03\n" +
"13:15:19\n" +
"13:15:19\n" +
"19:56:14"
println(Regex("""(([0-1]\d:|2[0-4]:)([0-5]\d|60)(:[0-5]\d|60)(\n|$))+""")
.matches(ss))
println(File(inputName).readText())
val format = Regex("""(([0-1]\d:|2[0-4]:)([0-5]\d|60)(:[0-5]\d|60)(\n|$))+""")
.matches(File(inputName).readText())
println(format)