【问题标题】:Regular expression for positive number with 2 decimals used for displaying money用于显示货币的带有 2 位小数的正数正则表达式
【发布时间】:2022-11-10 14:58:15
【问题描述】:

我认为有时我们都需要一个正则表达式来显示带有 2 位小数的数字,以显示世界上各种货币的货币。此正则表达式应仅允许 1 个点或逗号作为小数分隔符。并且只允许正数,并且数字不能以 0 开头。

目标:

  • 点和逗号都可以用作小数分隔符
  • 小数分隔符只能在一个数字中出现一次
  • 数字不能以零开头
  • 只允许正数

【问题讨论】:

    标签: regex


    【解决方案1】:

    我对这个困境的解决方案如下:^[1-9]d*([,.]d{2})?$

    ^[1-9] 告诉正则表达式一个数字需要以 1 到 9 开头

    d* 告诉正则表达式,下一个需要是 0 到 9 之间的数字,并且可以匹配 0 次或更多次

    ([,.]d{2})?$ 告诉正则表达式可以有一个点或一个逗号,并且后面必须正好有 2 个数字。问号使其也是可选的,因此 100 或 100,00 或 100.00 都可以。所以正自然数或正2十进制数

    这个正则表达式也可以很容易地编辑以支持带或不带 2 位小数的负数和正数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      • 2012-11-30
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多