gpt4 book ai didi

java - 检查正则表达式中字符串是否以点后两位数字结尾?

转载 作者:行者123 更新时间:2023-12-01 07:24:59 25 4
gpt4 key购买 nike

我正在尝试使用正则表达式测试 Java 中的字符串是否以点后的两位数字结尾。如何才能实现这一目标?

诸如“500.23”之类的内容应返回 true,而“50.3”或“50”应返回 false。

我尝试过类似 "500.00".matches("/^[0-9]{2}$/") 但它返回 false。

最佳答案

这是一个可能对您有帮助的正则表达式:

^\d+\.\d{2,2}$

它可能既不完美也不是最有效的,但它应该引导您走向正确的方向。

^ 表示表达式应从这里开始
\d 查找任何数字
+ 表示前导\d 可以根据需要多次出现 (1–无穷大)
\. 表示您希望在某一点出现一个点(.)
\d{2,2} 这就是窍门:它说你想要 2 个且正好 2 个数字(不少于不少)
$ 告诉您表达式在此结束(2 位数字之后)

在 Java 中,\需要转义,因此它是:

^\\d*\\.\\d{2,2}$

编辑
如果您不需要点前的数字 (.) 或者如果您真的不关心点前的内容,那么您可以将第一个 \d+ 替换为a .* 如波西米亚人的回答。 (非转义)点表示表达式可以包含任何字符(不仅是数字)。那么甚至可能不再需要前导 ^

 \\.*\\.\\d{2,2}$

关于java - 检查正则表达式中字符串是否以点后两位数字结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26590301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com