整数或双精度值的正则表达式

本文关键字:正则表达式 双精度 整数 | 更新日期: 2023-09-27 18:36:12

我正在尝试制作一个正则表达式来接受整数和双精度值(正值和负值)。

这是我所拥有的:

 @"-?d*(?:'d*'.'d*)?$"

在将其标记为重复问题之前,我检查过的所有问题,因此我最终会遇到相同的问题:

5 and -5 -> true
5.00 and -5.00 -> true
BUT... 5. and -5. -> true

它只接受<数字+点>,在本例中为"5."和"-5."作为"有效"数字。同样,同样的问题也出现在我已经编译的其他类似答案中。

整数或双精度值的正则表达式

这应该适合您:

@"-?'d+(?:'.'d+)?"
仅当点

后面有数字时才匹配点。

这里是匹配

整数和双精度值(正值和负值)的正则表达式:

-?'d+['.?'d+]*

解释:

  • 首先检查负号
  • 第二次检查任何数字
  • 括号中的第三个检查(零个或多个)小数点和后面的数字

试试这个:

/^-?'d(.'d+)?[^.]/

在线演示