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

标签 java regex

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

我的要求是获得小数点 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/

相关文章:

ios - 将 iOS .strings 文件解析为 perl 哈希

java - Hibernate:无法检索关联的列表

java - Android UDP 在某些设备上无法接收

java - 我如何在不关闭虚拟机的情况下为android studio中的按钮分配功能

Java 保留关键字

regex - express js路由匹配不以字符串开头的url

c# - 正则表达式查找特定年份之前的日期

java - 在 Java 中运行计划任务

python - 使用正则表达式查找数字后跟点

regex - preg_match 数字负数和正数