我需要设置一个与以下数字匹配的正则表达式: 五 6.4 1.22
数字必须是无符号,整数或浮点数和最大2位十进制数。我遇到了麻烦,怎么可能?
答案 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})?$