gpt4 book ai didi

java - 值应该只匹配数字、点和逗号

转载 作者:行者123 更新时间:2023-11-30 01:55:22 26 4
gpt4 key购买 nike

我有一个正则表达式:

"(\\d+\\.\\,?)+"

以及值:

3.053,500

但是我的正则表达式模式与它不匹配。我想要一个验证数字、点和逗号的模式。对于有效的示例值:

1
12
1,2
1.2
1,23,456
1,23.456
1.234,567
etc.

最佳答案

您的 (\d+\.\,?)+ 正则表达式匹配 1 个以上数字、点和可选 , 的 1 次或多次重复。这意味着字符串必须以点结尾。 3.053,500 不以点结尾。

您可以使用

s.matches("\\d+(?:[.,]\\d+)*")

请参阅regex demo

请注意,^$ anchor 在 Java 的 .matches() 方法中不是必需的,因为匹配被锚定到 start/自动结束字符串。在 regex101.com, anchor 旨在匹配行的开头/结尾(因为演示是针对多行字符串运行的)。

图案详细信息

  • \d+ - 1+ 位数字
  • (?: - 非捕获组的开始:
    • [.,] - 一个点或 ,
    • \d+ - 1+ 位数字
  • )* - 0 次或多次重复。

关于java - 值应该只匹配数字、点和逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54711505/

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