无符号数的正则表达式(浮点数和整数)

时间:2014-11-28 22:30:51

标签: regex

我需要设置一个与以下数字匹配的正则表达式: 五 6.4 1.22

数字必须是无符号,整数或浮点数和最大2位十进制数。我遇到了麻烦,怎么可能?

3 个答案:

答案 0 :(得分:2)

是的,有可能

(?:\d*\.)?\d+

这与您的问题更相关

^\d*(\.\d{1,2})?$

匹配:1,1.2,1.23,.45但不是.678或9.101

答案 1 :(得分:0)

试试这个:

"^\d+\.?\d*$"

^ =开始 $ =结束 \ d =数字 。 =点 ? =可选的最后一个令牌 + =一个或多个 * =零或更多

答案 2 :(得分:0)

\d+(\.\d{1,2})?

它允许您的所有案例,而不是其他任何内容。

    在事情使它们成为可选项后
  • ?
  • \d匹配任何数字
  • +事后意味着需要有一个或多个
  • .匹配所有字符,因此它会在此处转义以匹配文字点

我在这里使用括号来使整数小数部分以点可选开头。 大括号中的数字表示允许使用前一个标记的那些计数,因此我们允许使用一位或两位数字。

+很重要,因此不匹配任何空字符串。

如果您需要将此作为字符串中的唯一内容,还可以像这样添加^$

^\d+(\.\d{1,2})?$