gpt4 book ai didi

java - JAVA中带有千位分隔符的小数点8,2的正则表达式

转载 作者:行者123 更新时间:2023-12-01 21:37:13 28 4
gpt4 key购买 nike

我尝试了一些自己的正则表达式,但总是遇到一些错误。

我的要求是获得小数点 8,2 的正则表达式,例如000,000.00

  • 6位整数部分
  • 小数部分 2 位

无效的如下

  • 2,2
  • 2,2.2.2
  • 12,12
  • 1,1,1,1

有效的如下

  • 12
  • 1,000.00
  • 220,000.00
  • 173747

更新:这是为了检查用户的有效输入。小数部分或逗号不是强制性的。

最佳答案

小数点前最多 8 位

我想出了一个相当复杂的正则表达式(假设数字有强制性的 ,)

^\d{1,3}((?:(?<=\d),(?=\d{3})\d{3})){0,2}(\.\d{2})?$

<强> Regex Demo

您可以在上面的正则表达式中添加 or 条件来匹配非逗号模式

^(\d{1,3}((?:(?<=\d),(?=\d{3})\d{3})){0,2}|^\d{0,8})(\.\d{2})?$

Java 正则表达式

^(\\d{1,3}((?:(?<=\\d),(?=\\d{3})\\d{3})){0,2}|\\d{0,8})(\\.\\d{2})?$

<强> Ideone Demo

小数点前最多使用 6 位数字

^(\d{1,3}((?:(?<=\d),(?=\d{3})\d{3})){0,1}|^\d{0,6})(\.\d{2})?$

关于java - JAVA中带有千位分隔符的小数点8,2的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36822760/

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