如果缺少正则表达式,则在逗号后的第二位数字上添加 0

Regex to add a 0 to the 2nd digit after comma if missing

我想在逗号后的 2nd 数字 后添加一个 0 以防遗漏。例如:具有值 -2,3; 45,5; 3.000,0; 并替换为 -2,30; 45,50; 3.000,00。 我考虑过先在 IF 语句中匹配 .*,\d{1}(即检查值是否在逗号后只有一位数字),然后用模式 (.*) 替换并替换函数 0,但是这似乎是添加两个零而不是一个,例如结果为 -2,300; 45,500,等等

编辑:我刚刚意识到,如果正则表达式匹配 returns true,我也可以将字符串与“0”连接起来。

您不需要检查字符串是否以逗号和一位数字结尾。您可以使用

(,\d)$

替换为0

参见regex demo

现在,消费部分永远不会匹配空字符串,而是会匹配

  • (,\d) - 一个逗号和一个数字(捕获组 1)
  • $ - 字符串结尾。

0 将用第 1 组值替换匹配项 0