带有可选千位分隔符和不同小数点的和的RegEx模式

oug3syen  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(126)

发票中的金额在逗号后总是两位小数。小数点可以是逗号也可以是点。数字可以包含一个空格作为千位分隔符。可选地,它们的数字可以以-符号开始。
示例:

Subtotal,    1 000.00 EUR
VAT    1000,00
Total, sum:    _343 444.45 EUR

结果应该是
这是C# .NET RexExp模式。有很多类似的问题,但还没有发现完全相同。使用.NET 7 ASP.NET MVC。
Regex valid numbers with thousand separator中的答案假设每个数字都在单独的行中。

nkoocmlb

nkoocmlb1#

-?[0-9]{1,3}(?: ?[0-9]{3})*[.,][0-9]{2}
说明:

  • -?-可选-标志,
  • [0-9]{1,3}-一至三位数。第一个千位分隔符前的数字块,
  • (?: ?[0-9]{3})*-可选空格和重复任意次数的三个数字的块,
  • [.,]-点或逗号:十进制分隔符,
  • [0-9]{2}-两位数:小数部分

演示here

相关问题