Kotlin正则表达式GPA不匹配[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin正则表达式GPA不匹配[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

所以我做了一个正则表达式来测试有效的GPA,如0.00到5.00,包括0,4,3.55等等。无效的东西包括6.0,3.555,0.000,11.11等。在多个网站上我已经验证了这一点正则表达式适用于这些情况。

(([0-5]s)|([0-4].d{0,2}s))|[5].[0]{0,2}s

然而,我尝试使用Java Regex类在Kotlin中使用它我没有得到预期的结果,对于我的测试用例总是假的。

带有“2.0”测试字符串的代码:

Regex("(([0-5]\s)|([0-4]\.\d{0,2}\s))|[5]\.[0]{0,2}\s").matches("2.0")

我很好奇我错过了导致失败的原因。我已经逃脱了/字符并尝试使用字符串文字而没有转义的变体,并且还直接使用Pattern / Matcher无济于事。

答案

来自@Pushpesh的^(?:5(?:.0{1,2})?|[0-4](?:.d{1,2})?)$ Kumar Rajwanshi的评论解决了我的问题。感谢您及时回复并抓住了丢失的4个案例。

以上是关于Kotlin正则表达式GPA不匹配[重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式:一种特殊情况不匹配[重复]

正则表达式(Kotlin)

常用正则表达式—想说爱你不容易

正则表达式不匹配,不知道为啥[重复]

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

01正则表达式相关