Regex用于字母数字字符串中的数字计数

Regex For digit count in an alphanumeric string

本文关键字:数字 字计数 字符串 数字字符 Regex 用于      更新时间:2023-09-26

如何从regex 验证以下逻辑

  • 允许使用美元($)、逗号(,)、十进制(.)和数字(0-9)
  • Decimal之前只能有8位数字,与$和逗号无关
  • 小数后2位

允许的字符串示例:

  • 99999999.99
  • 99999999.99美元
  • 99999999.99美元
  • 9999,99,999.99美元

不允许:-999999999.99美元(小数前9位)-9.999999.99美元

意思是我想限制小数点前的位数。我怎样才能做到这一点。提前感谢

您可以使用以下正则表达式:

/^'$?(?:,?'d){1,8}(?:'.'d{1,2})?$/gm

RegEx演示

解释:

^              # Line start
'$?            # match optional $ at start
(?:,?'d)       # Match an optional comma followed by a digit and use non-capturing group
{1,8}          # up to 8 occurrence of previous group
(?:'.'d{1,2})? # followed by optional decimal point and 1 or 2 digits
$              # line end
/^('$?(',?'d){1,8}'.'d{2}$)/gm

Regex Demo